CNode

新手:如何优雅地写异步

问答
JJiamingLinn发布于10 年前最后回复10 年前6 回复4978 浏览0 收藏

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

查看回复

回复 (6)

C
Chunlin-Li#1·10 年前

非常简单明了的部分, 就直接匿名 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

G
gzhangzy#2·10 年前

@Chunlin-Li 👍

C
coderfox#3·10 年前

上 ES7 规范的 async/await 吧!

来自酷炫的 CNodeMD

T
think2011#5·10 年前

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

T
think2011#6·10 年前

因为买不到了

参与回复
登录后即可参与回复。登录