新手:如何优雅地写异步
发布于 9 年前 作者 JiamingLinn 4321 次浏览 最后一次编辑是 8 年前 来自 问答

感觉js最让人烦恼的就是异步编程。现在,我大概形成的自己的编程习惯,比如异步函数的返回值都是返回promise,并且函数名后面加$符号,有copromise实现同步和异步。但是小菜感觉还不够。大家来分享下你们的经验啊

6 回复

非常简单明了的部分, 就直接匿名 callback 嵌套N层, 效率最高. 逻辑复杂, 以及可能有重用的部分时, 用命名函数把嵌套给抹平. 写一些模块的时候, 定义一个类, 继承 EventEmitter, 在类的方法之间用 this.method() 或 this.emit(‘someEvent’) 进行调用和异步的通知. 流程化的服务中, 用 generator + thunk 函数. 不得已, 或者不关心性能, 或者懒得去处理异常的时候考虑用 Promise 或 generator + Promise… 以上我是个人陋习…

有篇文章可以看看 : https://spion.github.io/posts/analysis-generators-and-other-async-patterns-node.html

上 ES7 规范的 async/await 吧!

来自酷炫的 CNodeMD

你需要 《JavaScript异步编程.pdf》

因为买不到了

回到顶部