标签: haraka

如何进行需要其子函数信息的回调

我正在使用Node.js作为Haraka(一个smtp服务器)插件的项目.

这是Node.JS,我有一个问题回调.我无法将此特定代码转换为使用回调.

所以,这是我的代码:

exports.hook_data = function (next, connection) {
    connection.transaction.add_body_filter('', function (content_type, encoding, body_buffer) {
        var header = connection.transaction.header.get("header");
        if (header == null || header == undefined || header == '') return body_buffer;

        var url = 'https://server.com/api?header=' + header ;
        var request = require('request');
        request.get({ uri: url },
          function (err, resp, body) {
              var resultFromServer = JSON.parse(body);
              return ChangeBuffer(content_type, encoding, body_buffer, resultFromServer);
          }
        );
    });
    return next();
}
Run Code Online (Sandbox Code Playgroud)

此代码不起作用,因为它不等待Request的回调继续.我需要先完成请求next();

这些是要求:

  1. 在结束时exports.hook_data必须返回next().但它只需要在请求后返回它.
  2. 我需要返回一个 …

javascript callback node.js haraka

14
推荐指数
1
解决办法
390
查看次数

标签 统计

callback ×1

haraka ×1

javascript ×1

node.js ×1