在 async.each 的帮助下调用 foreach 中的同步函数(带回调)
calling a synchronous function (with call back) in foreach with the help of async.each
对不起,如果我的问题对你来说很简单!我对 Node 和回调很陌生!我有一个名为"find"的异步函数(带有回调),我还有一个称为模型的数组;所以我想对模型中的每个模型同步调用这个"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);
}
});
相关文章:
- javascript函数同步
- javascript函数中的异步与同步.(Node.js)
- JavaScript 函数同步执行
- Node.js和同步API函数
- 如何在异步函数与Deferredjquery之间同步
- Chrome扩展和Angular:我可以把Chrome.runtime.sendMessage变成一个同步函数吗
- $resource 'get' 函数如何在 AngularJS 中同步工作
- 将同步函数包装到承诺中的最佳方法是什么?
- 异步函数调用是否可以在两个同步语句之间完成
- 如何制作add的回调函数或同步制作此脚本
- 使AJAX“get”函数同步/如何获得结果
- Javascript匿名函数同步
- javascript中的函数同步
- 为什么Javascript显示带有setTimeout函数同步和异步的输出
- 如何使函数同步
- 如何调用angular's函数同步返回角度之外的函数结果
- JavaScript函数同步抓取HTML和JS
- 如何使循环中的函数同步运行
- j查询函数同步调用
- 在Javascript中,一般来说,如何使异步函数同步