将函数传递给 Node.js 中的嵌套回调
Passing function to nested callback in Node.js
我正在尝试了解如何执行几个异步请求,但将a函数传递给回调。就像下面在我的 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);
});
提前谢谢你。
你调用callback
你现在调用cb的地方,让Async知道是时候继续前进了,然后在GetPosts
函数底部的最后一个回调中调用cb,因为它在整个系列完成后触发。
传递错误,以便您可以在回调中处理它们GetPosts
var request = require("request");
var async = request("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) return callback(error, null);
if (response.statusCode == 200) return callback(null, body);
return callback('err', null);
});
},
two: function (callback) {
request("http://jsonplaceholder.typicode.com/posts/1", function (error, response, body) {
if (error) return callback(error, null);
if (response.statusCode == 200) return callback(null, body);
return callback('err', null);
});
}
},
function (err, results) {
if (err) {
return cb(err, null);
} else {
return cb(null, results);
}
});
};
var ctx = new Context();
ctx.GetPosts(new Params("MyPosts"), function (err, data) {
if (err) {
// handle error
} else {
console.log("Response: " + data);
}
});
相关文章:
- 嵌套回调范围和rootScope AngularJS
- 使用嵌套回调的值作为父函数的返回
- Chrome API未在嵌套回调中注入cookie
- 任何使JavaScript中的嵌套回调代码更具可读性的方法
- 从节点中的多个嵌套回调中返回值
- JavaScript 中的嵌套回调
- 将函数传递给 Node.js 中的嵌套回调
- 防止使用迭代的 JavaScript 中的嵌套回调
- 扁平化嵌套回调
- 平展嵌套回调
- 嵌套回调函数中的Trapping AssertionError
- Node.js:异步嵌套回调在for循环的每个迭代中都不起作用
- 嵌入嵌套回调函数的Javascript技术
- javascript嵌套回调函数返回
- javascript对象嵌套回调
- jQuery中的嵌套回调
- 简化了嵌套回调
- Chrome扩展事件和嵌套回调
- 在NodeJS中使用嵌套回调时出现问题
- 在mongoose中,保存时可以避免多层嵌套回调吗