将函数传递给Node.js中的嵌套回调

时间:2016-02-26 15:53:48

标签: javascript node.js callback

我试图了解如何执行一些异步请求但将一个函数传递给回调。就像我的GetPosts()中的下面一样,我传递了一个函数。所以我的问题是如何处理async.series函数中的回调,同时能够传递一个函数来处理来自系列中这些回调的回调。目前我正在呼叫cb而不是"回调",但不确定解决方法是什么。这有意义吗?

var request = require("request");
var async = require("async");

Context.prototype.GetPosts = function (params, cb) {
    async.series({
        one: function (callback) {
            request("http://jsonplaceholder.typicode.com/posts/1", function (error, response, body) {
                if (!error && response.statusCode == 200) {
                    return cb(body);
                }
                cb(null, result);
            });
        },
        two: function (callback) {
            request("http://jsonplaceholder.typicode.com/posts/1", function (error, response, body) {
                if (!error && response.statusCode == 200) {
                    return cb(body);
                }
                cb(null, result);
            });
        }
    },
    function (err, results) {
    });
};

var params = new Params("MyPosts");

Context.GetPosts(params, function (cb) {
    console.log("Response: " + cb);
});

提前谢谢。

1 个答案:

答案 0 :(得分:0)

您拨打callback,现在正在调用cb,让Async知道是时候继续前进,然后在{{底部的最后一个回调中调用cb 1}} function,就像整个系列完成时一样。

传递错误,以便您可以在GetPosts

的回调中处理错误
GetPosts