我对 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 如果它足够快?请尽可能引用何时何地使用同步/异步的示例。
最佳答案
你可能不应该。在大多数情况下,只有在等待来自应用程序外部的东西(主要是文件、数据库和网络操作)时才需要异步逻辑。异步延迟应用程序内代码不会给您带来任何性能优势,因为您的代码仍然需要在某些时候运行。
关于javascript - Node.js - 我应该什么时候做异步什么时候同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11226026/