异步函数调用中的回调错误

时间:2018-07-13 01:19:17

标签: javascript node.js

我正在尝试使用Promise中的异步调用来转换图像格式。我不知道节点如何工作,但我不明白为什么得到TypeError: callback is not a function.。追溯指出了webp-converter模块中的此错误。

const webp = require('webp-converter');

...

.then(() => {


    return new Promise( (resolve, reject) => {
        webp.cwebp(tempLocalFilename, newLocalFilename, status =>
        {
            console.log(status);
        });
    });
  })

这里是否立即有任何明显的原因会导致这种情况?我不确定要包括什么代码,因此可以根据需要添加更多代码。

1 个答案:

答案 0 :(得分:2)

查看文档:

https://www.npmjs.com/package/webp-converter

调用webp.cwebp时,应该有四个参数:输入(字符串),输出(字符串),选项(字符串)和回调。尝试指定一些选项,然后 then 回调。另外,尝试在操作完成后调用resolve,这样以后就可以链接其他功能:

webp.cwebp(
  tempLocalFilename,
  newLocalFilename,
  "-q 80",
  function(status) {
    console.log(status);
    if (status === '100') resolve();
    else reject();
  }
);