我有这段代码
App.Model('users').find(function (err, users) {
users.forEach(function(user) {
console.log(user.username);
});
});
//make usernames availible here.
此控制台记录用户名。 而不是仅仅记录到控制台我想要使用数据。
但是怎么做呢?
由于
答案 0 :(得分:1)
它们永远不会出现在你想要的地方。这不是async / node.js编程的工作原理。
可能的:
App.Model('users').find(function (err, users) {
users.forEach(function(user) {
myCallBack(user);
});
});
var myCallBack = function(user) {
//make usernames availible here.
//this will be called with every user object
console.log(user);
}
其他可能性:EventEmitter,流量控制库(例如async)。
如果您在开放之前已经使用其他语言编写代码,则需要采用全新的方法来处理数据。
答案 1 :(得分:0)
使用节点js你不会这样做:
//make usernames availible here.
你这样做:
App.Model('users').find(function (err, users) {
//usernames are available here. Pass them somewhere. Notify some subscribers that you have data.
});
//The code here has executed a long time ago