Javascript Jimp.read从不运行回调并挂断

Javascript Jimp.read从不运行回调并挂断,javascript,node.js,Javascript,Node.js,我正在尝试创建一个Discord机器人,我的一个命令会调整请求的图像的大小并发送它。但是,当我运行该命令时,它只是挂起,没有错误消息。如果我取出回调并正常运行它,它会发送,但会发送最后一个请求的图像,而不是刚刚请求的图像 function resizeImg(id,_callback) { const img = Jimp.read('image.png') .then(img => { ret

我正在尝试创建一个Discord机器人,我的一个命令会调整请求的图像的大小并发送它。但是,当我运行该命令时,它只是挂起,没有错误消息。如果我取出回调并正常运行它,它会发送,但会发送最后一个请求的图像,而不是刚刚请求的图像

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
语法的承诺:谢谢。这很有效。