編集
すべての答えに感謝し、最終的にStepの
ようなツールを使用することにしました。
私が必要とするのは「フロー制御」だけであり、パフォーマンスを低下させる可能性のあるものは他に必要ありません(正確にどれだけ影響するか、または影響を無視できるかはわかりません)。
そこで、フロー制御用の小さなツールを作成します。
line.js
/**
* Create the "next" function
*
* @param {Array} tasks
* @param {Number} index
* @param {Number} last
*/
var next = function(tasks, index, last) {
if (index == last) {
return tasks[index + 1];
}
else {
return function(data) {
var nextIndex = index + 1;
tasks[nextIndex](next(tasks, nextIndex, last), data);
};
}
};
/**
* Invoke functions in line.
*/
module.exports = function() {
var tasks = arguments,
last = tasks.length - 2;
tasks[0](next(tasks, 0, last));
};
利用方法:
var line = require("line.js");
line(function(next) {
someObj.find(function(err, docs) {
// codes
next(docs);
});
}, function(next, docs) {
// codes
});
お役に立てれば。
編集終了
よく知られているように、
Node の組み込みモジュールまたはサードパーティ モジュールは、多くの場合、非同期 API を提供し
、結果を処理するために「コールバック」関数を使用します。
クールですが、次のようにコーディングすることがあります。
//some codes
}
}
}
}
このようなコードは読みにくいです。
「遅延」ライブラリがそのような問題を解決できることは知ってい
ますが、Node.js 用の適切な「遅延」モジュールはありますか?
また、「deferred」で Node をコーディングした場合のパフォーマンスはどうですか?