Javascript Jimp.read从不运行回调并挂断
我正在尝试创建一个Discord机器人,我的一个命令会调整请求的图像的大小并发送它。但是,当我运行该命令时,它只是挂起,没有错误消息。如果我取出回调并正常运行它,它会发送,但会发送最后一个请求的图像,而不是刚刚请求的图像Javascript Jimp.read从不运行回调并挂断,javascript,node.js,Javascript,Node.js,我正在尝试创建一个Discord机器人,我的一个命令会调整请求的图像的大小并发送它。但是,当我运行该命令时,它只是挂起,没有错误消息。如果我取出回调并正常运行它,它会发送,但会发送最后一个请求的图像,而不是刚刚请求的图像 function resizeImg(id,_callback) { const img = Jimp.read('image.png') .then(img => { ret
function resizeImg(id,_callback) {
const img = Jimp.read('image.png')
.then(img => {
return img
.resize(100,130)
.write('temp.png');
_callback();
})
.catch(console.error);
}
resizeImg(id,function() {
var attachment = new Discord.MessageAttachment('./temp.png')
msg.channel.send('',attachment)
});
由于停止执行的
return
语句,您永远无法回拨
function resizeImg(id, _callback) {
Jimp.read('image.png').then(img => {
const img = img.resize(100,130).write('temp.png');
_callback(img);
})
.catch(console.error);
}
resizeImg(id, function(img) {
var attachment = new Discord.MessageAttachment('./temp.png')
msg.channel.send('', attachment)
});
试试上面的代码。现在,您可以通过回调中的参数访问img。
.catch(console.error);>。catch(console.log(错误))代码>这是否显示了任何错误?请查看带有async/await
语法的承诺:谢谢。这很有效。