javascript - 异步函数调用中的回调错误
问题描述
我正在尝试使用 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);
});
});
})
这里有什么明显的东西会导致这种情况吗?我不确定要包含什么代码,所以如果需要我可以添加更多。
解决方案
请参阅文档:
https://www.npmjs.com/package/webp-converter
调用webp.cwebp
时,应该有四个参数:输入(字符串)、输出(字符串)、选项(字符串)和回调。尝试指定一些选项,然后是回调。此外,在操作完成后尝试调用resolve
,这样您就可以在之后链接其他函数:
webp.cwebp(
tempLocalFilename,
newLocalFilename,
"-q 80",
function(status) {
console.log(status);
if (status === '100') resolve();
else reject();
}
);
推荐阅读
- asp.net - 从 S3 中删除存储桶时的随机行为
- python - Sqlalchemy - 如何在 self 不可用的上下文中定义 scopefunc?
- mysql - 关系问题 (PHPMyAdmin) - 添加键,在关系视图中不可见
- azure - 如何在 Azure 数据工厂管道中直接转换 JSON 数据
- python - 如何创建一个函数来查找字典中的所有回文(包括 i 和 a)?
- firebase - 更新 Firestore 中 Array 的 Map 数据 - Flutter
- go - 如何解码使用 goavro.OCFWriter 编码的 Avro 消息?
- python - 在与列表混合的嵌套字典中查找键
- python - 函数不改变数组
- html - 从R中的网页解析“表单操作”属性