繁体   English   中英

我们如何使用外部节点js中的函数调用内部变量?

[英]How can we use inner variable from function calling in node js at outside?

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”

我想先调用内部,然后调用:“ Limit from Out:6 Limit Inner:6”

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);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM