【问题标题】:Callback to Async Await [duplicate]回调异步等待[重复]
【发布时间】:2018-09-22 19:58:35
【问题描述】:

我一直在尝试使用这个库:https://github.com/xkeshi/image-compressor

示例:

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

我想将此函数包装在一个名为 compress 的异步函数中,以便像这样使用它:

const compressed file = await compress(file)

【问题讨论】:

  • 你尝试了什么...?

标签: javascript ecmascript-6 es6-promise


【解决方案1】:
  function compress(file) {
    return new Promise((resolve, reject) => {
       new ImageCompressor(file, {
         quality: .6,
         success: resolve,
         error: reject
      });
   });
 }

【讨论】:

  • @ele jup,我不认为未来的读者会从中受益。
【解决方案2】:

你可以像这样简单地包装函数:

  function compress(parameters) {
      return new Promise((resolve,reject) => {
        new ImageCompressor(file, {
          quality: .6,
          success(result) {
            resolve(result)
          },
          error(e) {
            reject(e)
          },
        });
     })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-30
    • 2021-05-11
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 2019-02-06
    • 1970-01-01
    • 2018-01-02
    相关资源
    最近更新 更多