我做的Javascript:當值不是未定義的方法返回undefined
if (program.url) {
checkJson = checkUrl(program.url, program.checks);
console.log('checkJson:', checkJson);
}
和
var checkUrl = function (url, checksfile) {
var checks = loadChecks(checksfile).sort();
rest.get(program.url).on('complete', function(data) {
var out = {};
$ = cheerioUrlData(data);
for (var ii in checks) {
var present = $(checks[ii]).length > 0;
out[checks[ii]] = present;
}
console.log(out); // <<-- This console
return out;
});
};
控制檯看起來像
{ '.about': true,
'.blank': true,
'.faq': true,
'.footer': true,
'.heading': true,
'.logo': true,
'.navigation': true,
'.order': true,
'.pitch': true,
'.section1': true,
'.section2': true,
'.social': true,
'.subheading': true,
'.thermometer': true,
'.video': true,
h1: true }
但console.log('checkJson:', checkJson);
打印
checkJson: undefined
這裏有什麼不正確?
它是異步的? – adeneo
'checkUrl'沒有返回值......你爲什麼期望返回值不是'undefined'? – Ian
它立即返回**。它沒有時間獲得信息。當它發生時,它會調用回調。 – Paul