0

我有这个代码

App.Model('users').find(function (err, users) {
        users.forEach(function(user) {
        console.log(user.username);
    });
});

//make usernames availible here.

此控制台记录用户名。我想利用数据而不是仅仅登录到控制台。

但是怎么能做到这一点呢?

谢谢

4

2 回答 2

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)。

如果您已经用其他语言编写过代码,那么您需要开放以采用全新的方法来处理数据。

于 2012-06-11T21:25:16.007 回答
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
于 2012-06-11T21:20:10.760 回答