Ada*_*amB 18 javascript node.js
nodejs中的所有内容都是非阻塞的,这很好,但是如何在不拥有庞大的嵌套回调列表的情况下创建必须一个接一个的函数alls?
mas*_*lum 12
你不必有窝的回调.
编写异步代码有很多模式.
例如,这种matrioska嵌套式......
database.find('foo', function (err, data) {
database.update('foo', 'bar', function (err, data) {
database.delete('bar', function (err, data) {
console.log(data);
});
});
});
Run Code Online (Sandbox Code Playgroud)
...可以用更干净(但更详细)的方式重写:
var onDelete = function (err, data) {
console.log(data);
},
onUpdate = function (err, data) {
database.delete('bar', onDelete);
},
onFind = function (err, data) {
database.update('foo', 'bar', onUpdate);
};
database.find('foo', onFind);
Run Code Online (Sandbox Code Playgroud)
另一种选择是使用模块来抽象回调的串行和并行执行.
归档时间: |
|
查看次数: |
8475 次 |
最近记录: |