抱歉这个天真的问题,刚开始学习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";
}
答案 0 :(得分:1)
ScrapePage不会调用您传递给它的回调。
编辑它以调用第二个参数。
function ScrapePage(webpage, cb)
{
cb(null, "value");
}
答案 1 :(得分:0)
你永远不会打电话给回叫。您应该ScrapePage
接受第二个参数:
function ScrapePage(webpage, callback) {}
然后在完成所需的任何工作后调用该回调,传递错误和结果:
function ScrapePage(webpage, callback) {
doSomethingAsync(function (err, result) {
if (err) {
return callback(err, null);
}
callback(null, result);
});
}