簡體   English   中英

嵌套函數調用nodejs

[英]Nested function call nodejs

抱歉,這個天真的問題剛剛開始學習Nodejs。 您能否讓我知道為什么控件永遠不會出現在這一行console.log("inside ScrapePage callback") 感謝您對此進行調查,並感謝您的幫助。

var CronJob = require('cron').CronJob;

new CronJob('* * * * * *', function() {
    var collection = db.collection('webpages');
    collection.find({}, function(e, docs) {
// iterate over the webpage list
        for (var i = 0; i < docs.length; i++) {
            var webpage = docs[i];
            (function (webpage) {
                DoStatusCheck(webpage);
            })(webpage);
        }
    });
}, null, true, "America/Los_Angeles");

function DoStatusCheck(webpage) {
    ScrapePage(webpage, function(error, value){
        console.log("inside ScrapePage callback");
    })
}
function ScrapePage(webpage)
{
    return "inside ScrapePage function";
}

ScrapePage沒有調用傳遞給它的回調。

編輯它以調用第二個參數。

function ScrapePage(webpage, cb)
{
  cb(null, "value");
}

您永遠不會調用回調。 您應該讓ScrapePage接受第二個參數:

function ScrapePage(webpage, callback) {}

完成所需的工作后,再調用該回調,並傳遞錯誤和結果:

function ScrapePage(webpage, callback) {

    doSomethingAsync(function (err, result) {

        if (err) {
            return callback(err, null);
        }

        callback(null, result);
    });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM