私のコードを実行すると、エラー 'TypeError:コールバックは関数ではありません。
これは、関連するコードです:エラー:コールバックが関数ではありません(nodejs)
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');
}
});
});
:これは、別のファイル(私はそれがエラーの原因ではありません、この1の上部にある最初のファイルが必要)である
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);
}
});
}
まず第一に、同じタイトルの他の投稿があるので、これを重複としてマークしないでください。私はそれらを調べましたが、その理由は通常、コールバック関数が渡されなかったか、あまりにも多くのパラメータが渡されたことでした。これはここでは当てはまりません。
私はnodejsでまだ経験していないので、明らかに何かを見落としているかもしれませんが、このコードで何が問題なのかわかりません。
client.get()
は、thisnpmパッケージからです。たぶんエラーには何か関係がありますか?
ここで私を助けることができたらとても嬉しいです。
'typeof callback'を記録しようとしていますか?あなたにヒントを与えるかもしれません。あなたのコードは私にはうまく見えます。コールバックなしで他の場所でその関数を呼び出していないと確信していますか? – otajor
タイプコールバックは未定義を返します。私は本当に機能を返さない理由は分かりません。 – eRodY
すでにclient.get()のコールバックで 'err'を処理しましたか? 多少のエラーがあり、あなたの 'コールバック'が実行されず、コールバック関数として扱われないことがありますか? – Carr