我正在尝试使用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);
});
});
})
这里是否立即有任何明显的原因会导致这种情况?我不确定要包括什么代码,因此可以根据需要添加更多代码。
答案 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();
}
);