当前位置: 首页 > 知识库问答 >
问题:

jimp.read从不运行回调并挂断

孙帅
2023-03-14

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

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)
});

共有1个答案

封景曜
2023-03-14

由于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。

 类似资料:
  • 我有个奇怪的问题引起了冲突。我不得不切换到本机的来修复它,但是它有bug。 我最初的问题是:我有一个带有要在我的一个片段中请求权限,我调用提示显示得很好,但当我接受或拒绝权限时,什么也不会发生。从不调用回调。相反,它在我的片段所附加的活动中被调用。对我无用,我需要回调在片段中工作。 考虑到这一点,我被告知需要使用,但这只适用于,因此我将导航抽屉更改为使用本机片断,而不是使用v4支持库片断。但是,因

  • 问题内容: 在Parallel Python中,它在 Submit 函数中有一个叫 回调 (documentation)的东西,但是似乎并不能很好地解释它。我几天前已在他们的论坛上发布了消息,但没有收到任何回复。有人可以解释什么是回调及其用途吗? 问题答案: 回调是API使用者提供的功能,API可以转回并调用(回调您)。如果我设置了博士的约会,我可以给他们我的电话号码,这样他们就可以在前一天给我打

  • 问题内容: 是否有人在React 16.8中为useState挂钩的更新部分创建了同步回调?我一直在寻找一种方法,这样我就可以使用第三方库来处理同步操作,而我似乎无法根据自己的需要来完成一项工作。 如果有人对成功完成此操作的人员有任何引用,请在此处添加。 干杯, 问题答案: 使用钩子,您不再需要该函数的回调。现在,您可以使用挂钩设置状态,并监听其值以使用挂钩更新。挂钩的可选第二个参数采用一组值来侦

  • 因此,我基本上希望通过多个jar文件来调试所有不同的微服务,它们向彼此的API发送/接收消息。我现在所做的是从命令行运行每个jar文件,分别为java-jar-xdebug-xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005***.jar,并使用相同端口的intellij进行远程调试。 我想知道是否可以将所有的jar文件放在一个

  • 我正试图用CakePHP3制作一个api。有了这个api,我将向系统发送一些批量电子邮件的信息。在将api请求存储到databse中之后,我希望返回已收到请求的确认并开始批处理。完成处理后,我想发送一个回调响应来返回处理状态。在我目前的编码系统中,我必须等待完成这个过程。我怎么能并行地做呢? [我不确定实际问题的标题应该是什么,请随意编辑。:)]