Async.jsを使用して一連の非同期関数を起動しようとしています。以下は私のコードです。最初の 2 つの関数のみが実行されます。シリーズの 3 番目と 4 番目の関数は実行されません。考えられる機能を最も基本的なものに単純化しました。しかし、それでも実行しません。誰かが私が間違ったことを教えてもらえますか?
async.series([
guessCollection.find( { user: user, imageFileName: imageFileName } ).count( function(err, number) {
count = number;
console.log(count);
}),
guessCollection.find( { user: user, imageFileName: imageFileName, correct: '1' } ).count( function(err, number) {
correct = number;
console.log(correct);
}),
function(){
console.log("this text never doesn't get logged");
},
function() {
console.log("neither does this text");
}
]);
編集 --- 以下の回答で示唆されているように、最初の 2 つの適切な関数を作成しました。ただし、一連の関数の最初の関数のみが実行されます。関数 2 ~ 4 は呼び出されません。このコードには他に何か問題があるに違いないと思います。
async.series([
function(){
guessCollection.find( { user: user, imageFileName: imageFileName } ).count( function(err, number) {
count = number;
console.log(count);
})
},
function(){
guessCollection.find( { user: user, imageFileName: imageFileName, correct: '1' } ).count( function(err, number) {
correct = number;
console.log(correct);
})
},
function(){
console.log("this text never doesn't get logged");
},
function() {
console.log("neither does this text");
}
]);