【问题标题】:How can we use inner variable from function calling in node js at outside?我们如何在外部节点 js 中使用函数调用中的内部变量?
【发布时间】:2013-11-22 23:53:54
【问题描述】:
var limit = 0;

Settings.find({ settings: "settings" }, function (err, docs) {
    limit=docs[0].keywords;  //6
    console.log('Limit from Inner : ' + limit);
});

console.log('Limit from Out : ' + limit);

它会给我这样的输出: “出局限制:0 内部限制:6"

我想先调用内部,然后输出如下: “出局限制:6 内部限制:6"

【问题讨论】:

    标签: javascript node.js asynchronous callback mongoose


    【解决方案1】:

    Node.js 是异步的,console.log('Limit from Out : ' + limit); 在调用Settings.find() 的回调之前执行。

    如果你必须做你描述的事情,你可以使用一些控制流库,比如https://github.com/caolan/async,然后做一些类似的事情:

    var limit = 0;
    
    async.series([
        function(callback) {
            Settings.find({ settings: "settings" }, function (err, docs) {
                limit=docs[0].keywords;  //6
                console.log('Limit from Inner : ' + limit);
                callback(err);
            });
        }
    ], function(err) {
        console.log('Limit from Out : ' + limit);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-14
      • 2013-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-01
      • 1970-01-01
      • 2019-05-20
      相关资源
      最近更新 更多