20200308
Plan
- 你不知道的 js 中卷 -- 回调 p161
- Linux 命令行大全
Notes
信任问题
- 控制反转(inversion of control) -- 由某个第三方执行程序的一部分。比如 ajax 库处理 http response
用第三方库的话,可能会由于第三方库的 bug 而产生 bug。
结论 当使用第三方库时,回调会引起控制反转的问题,这设计到对第三方库的信任问题
尝试挽救回调
- "error-first"风格 / Node 风格 -- 回调第一个参数保留用作错误对象
- Dont release Zalgo -- don't mix the sync or async return in one callback
如何避免 Zalgo?
if (errors.length) {
process.nextTick(function() {
callback(null, errors);
});
return;
}