我正在尝试制作一个不和谐的机器人,我的一个命令调整一个请求的图像大小并发送它。但当我运行该命令时,它只是挂断,没有错误消息。如果我取出回调并正常运行它,它发送,但发送的是请求的最后一个映像,而不是刚才的映像。
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。