有人可以解釋我爲什麼這個函數變得未定義時,我把它存儲在一個變量?爲什麼這個函數表達式不確定?
model.where({'artisan.id':id}).count(function(err, doc) {
console.log(err, doc); // this work
})
var fn = model.where({'artisan.id':id}).count;
console.log(typeof fn); // ==> 'function'
fn(function(err, doc) { // undefined is not a function
console.log(err, doc);
})
謝謝。
@AlfonsoGarnett,如果這是真的,那麼他們的typeof新生力量的console.log將顯示爲未定義,他們的第一線將不能工作。亞伯,你確定這是錯誤引用的實際行嗎? –
當我用10秒的超時時間調用fn時,它仍然是未定義的。看起來它是未定義的回調函數。但它沒有任何敏感...... –
'count'可能期望'this'的值引用特定對象,而不是全局對象。一般來說'var foo = obj.foo; foo();'不等於'obj.foo()'。 –