0
當我執行我的代碼時,我不斷收到錯誤'TypeError:callback不是函數'。
這是相關代碼:錯誤:回調不是函數(nodejs)
exports.isVideo = function(tweetId, callback) {
client.get('statuses/show/' + tweetId, function(err, tweet, res){
if(tweet.extended_entities){
if(tweet.extended_entities.media[0].type === 'video'){
console.log('true');
callback(true);
} else {
console.log('false');
callback(false);
}
} else {
console.log('false');
callback(false);
}
});
}
這是一個不同的文件(我需要在這一個頂部的第一個文件,這是不是錯誤的原因):
ids.forEach(function(id){
console.log(id.twitterId);
twitterConverter.isVideo(id.twitterId, function(boolean){
if(boolean){
console.log('do something');
} else {
console.log('do nothing');
}
});
});
首先,請不要將其標記爲重複,因爲其他帖子的標題類似。我仔細觀察了它們,原因通常是沒有傳遞迴調函數,或者傳遞了太多的參數,這裏不是這種情況。
我對nodejs還沒有那麼有經驗,所以也許我忽略了一些明顯的東西,但是我找不到這個代碼有什麼問題。
client.get()
從this npm包。也許這個錯誤與此有關?
如果你能在這裏幫助我,我會非常高興。
嘗試記錄'typeof callback'?可能會給你一個提示。你的代碼對我來說看起來很好。你確定你沒有在沒有回調的情況下在別的地方調用該函數嗎? – otajor
typeof callback返回未定義。這很奇怪,我真的不知道它爲什麼不返回函數。 – eRodY
你已經在client.get()的回調中處理'err'了嗎? 也許有一些錯誤,你的'回調'沒有執行,並被視爲不作爲回調函數? – Carr