簡體   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