如何将数据绑定到node.js中的事件

时间:2015-06-04 15:27:19

标签: javascript node.js events callback

以下是我编写的代码的简化版本:

var cb_gen, item, list, label, token;

cb_gen = function (token_string) {
    return function (data) {
        var msg = "logout of [" + token_string + "] ";
        msg += (typeof(data.error) == "undefined") ? "succeeded" : "failed";
        console.log(msg);
    };
};

for (item in list) {
    label = "API_" + item;
    token = make_token(item);
    app_resources.event.once(label, cb_gen(token));
}

这具有为循环的每次迭代生成回调函数的副作用。我宁愿做的事情如下:

var cb_gen, item, list, label, token;

callback = function (data, token_string) {
    var msg = "logout of [" + token_string + "] ";
    msg += (typeof(data.error) == "undefined") ? "succeeded" : "failed";
    console.log(msg);
};

for (item in list) {
    label = "API_" + item;
    token = make_token(item);
    app_resources.event.once(label, callback);
    app_resources.event.add_bound_data(label, token);
}

当然我不知道" add_bound_data"这样的方法。我上面列出的第一个代码将起作用,因此我并不急需像第二个代码那样的解决方案。但是,如果我的循环变大,那么第二个例子就会非常好。我很欣赏知情人士能够分享的任何见解。

  • 感谢

0 个答案:

没有答案