3

I have been trying to use this library: https://github.com/xkeshi/image-compressor

example from there:

new ImageCompressor(file, {
    quality: .6,
    success(result) {
      ...
    },
    error(e) {
      ...
    },
  });

I want to wrap this function inside an async function called compress to use it like:

const compressed file = await compress(file)
Ali Ankarali
  • 2,761
  • 3
  • 18
  • 30

2 Answers2

7
  function compress(file) {
    return new Promise((resolve, reject) => {
       new ImageCompressor(file, {
         quality: .6,
         success: resolve,
         error: reject
      });
   });
 }
Jonas Wilms
  • 132,000
  • 20
  • 149
  • 151
4

You can simple wrap the function like this:

  function compress(parameters) {
      return new Promise((resolve,reject) => {
        new ImageCompressor(file, {
          quality: .6,
          success(result) {
            resolve(result)
          },
          error(e) {
            reject(e)
          },
        });
     })
Marco Talento
  • 2,335
  • 2
  • 19
  • 31