NodeJS关于同步回调和异步回调

参考官文:

在方法中根据判断, 执行同步回调异步回调:

1
2
3
4
5
6
7
8
9
10
11
12
13
function maybeSync(arg, cb) {
if (arg) {
cb();
return;
}

fs.stat('file', cb);
}

maybeSync(maybeTrue, () => {
foo();
});
bar();

这时, 如果条件为真, 执行的是同步回调, foo() 在 bar() 之执行
如果条件为假, 执行的是异步回调, foo() 在 bar() 之执行.

改善方案为:

1
2
3
4
5
6
7
8
function maybeSync(arg, cb) {
if (arg) {
process.nextTick(cb);
return;
}

fs.stat('file', cb);
}
Donate - Support to make this site better.
捐助 - 支持我让我做得更好.