mongodb の mapreduce の使用例として、次の reduce 関数を何度も見たことがあります。
function reduce(key, values) {
var result = {count:0};
values.forEach(function(value) {
result.count += value.count;
});
return result;
}
しかし、これは非常に奇妙に思えます。繰り返しは、コールバック関数を使用してカウントを行う .forEach() メソッドで行われます。ただし、結果を返します。すぐに。
コールバックが値の反復処理を完了する前に、結果変数を返すことがありますか?
コールバックの目的は、メインの制御フローが正常に継続している間に、コールバックを (おそらく) 別のスレッドに委譲することだと思いました。