使用第三方库将JS回调重新格式化为异步/等待失败

时间:2019-05-04 00:29:06

标签: javascript async-await

我正在使用第三方库ml5,该库具有返回回调函数的函数。使用模式1可以正常工作,但模式2失败,并出现错误“传递给tf.fromPixels()的像素不能为空”。

我喜欢使用异步/等待模式,以便我的代码更易于阅读。任何人都知道如何实现使代码与async / await一起使用

模式1

handleDetect = async snap => {
  const yolo = await ml5.YOLO(snap);

  yolo.detect(function(err, results) {
    console.log(results); 
  });
};

模式2

handleDetect = async snap => {
  const yolo = await ml5.YOLO(snap);

  try {
    const results = await yolo.detect();
    console.log(results);
  } catch (error) {
    throw new Error(error);
  }
};

0 个答案:

没有答案