node.js の非同期性に混乱しました。その中に小さなプロジェクトを書いていますが、以前の (同期) プログラミングの経験が邪魔になります。
非同期コードを記述するかどうか/どこに記述するかをどのように決定すればよいですか?
たとえば、フィールドを持つモデルがあり、それぞれにいくつかの検証ルールがあります。
model = { title: text_validation,
subtitle: text_validation }
text_validation = { max_len: 10,
required: true,
url: true }
モデルを検証するときは、すべてのフィールドを反復処理して、ルールが合格するかどうかを確認します。これらは非常に迅速な機能です。
Model.validate = function() {
validator = {};
fields = Object.keys(Model);
fields.forEach(function(field) {
validator[field_name] = field.validate();
});
}
Field.validate = function() {
validator = [];
rules.forEach(function(rule) {
if (rule is not valid)
validator.push(rule)
});
return validator;
}
このような短くて速い反復でコールバックを使用する必要がありますか?
ここの限界はどこですか?node.js は常に非同期である必要がありますか、それとも十分に速い場合は同期ループまたは w/e を許可できますか? 可能であれば、いつ、どこで同期/非同期を使用するかの例を参照してください。