![](/img/trans.png)
[英]How to call async.each in an external function having async.waterfall inside async.each
[英]calling a synchronous function (with call back) in foreach with the help of async.each
对不起,如果我的问题对你来说很简单! 我是Node和回调的新手! 我有一个叫做“find”的异步函数(有一个回调函数),我也有一个叫做模型的数组; 所以我想与模型中的每个模型同步调用这个“查找”函数,并将结果附加到resultFound中:
我感谢您的帮助! 如果您需要更多说明,请告诉我。
st.find(param1, model, param2, param3, function (err, data) {
if (err) {
res.json(400, err);
} else {
res.json(200, data);
}
});
这是我的尝试(我相信在st.find()中返回是错误的;但我刚刚提到我尝试给你一个洞察我正在尝试做的事情!):
var models = ["test1", "tes2"];
var resultFound = [];
async.each(models, find, function (err, data) {
resultSearch.push(data);
});
function find(model) {
st.find(param1, model, param2, param3, function (err, data) {
return data;
});
}
async
的方法会将回调function
传递给iterator
,在本例中为find()
,它希望调用它来知道何时继续。
function find(model, callback) {
st.find(param1, model, param2, param3, function (err, data) {
callback(err, data);
});
// or possibly just:
// st.find(param1, model, param2, param3, callback);
}
但是, async.each()
未定义为期望将data
提供给回调。
接受data
方法是async.map()
,它已经创建了一个可以用作resultFound
的新集合。
var models = ["test1", "tes2"];
async.map(models, find, function (err, resultFound) {
if (err) {
res.json(400, err);
} else {
res.json(200, resultFound);
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.