爱意满满的作品展示区。
meathill

JavaScript 异步开发全攻略

  •  
  •   meathill ·
    meathill · Jul 16, 2017 · 5189 views
    This topic created in 3403 days ago, the information mentioned may be changed or developed.

    写了一本介绍 JavaScript 异步开发的小书: https://meathill.gitbooks.io/javascript-async-tutorial/content/

    除了比较详细的介绍了异步开发面临的问题,Promise 和异步函数的使用,还结合实际开发中遇到的一些场景进行了分析,给出了范例代码,比如小程序、Vue 等。水平有限,大家如果发现问题,也请不吝赐教。

    因为种种原因开启的这个话题,我希望能够把它尽量做完整,所以会保持随时更新,尽量涵盖最近遇到的问题。

    希望对大家有所帮助。

    10 replies  •  2017-07-17 16:06:42 +08:00
    ijse
    ijse
    Jul 16, 2017
    1
    很不错~

    不过感觉题目起得大了一点,只介绍了 Promise 及 Async 两种嘛, 其实前端异步的解决方案挺多的,早期 Promise 普及前的 EventEmitter 类似的事件方案、Async.js 的函数库方案,还有一些尝试从编译入手的 Jscex (后改名 wind.js )、还有响马的 fibjs 也算,等等,写一本书也挺精彩的了~
    meathill
    meathill
    OP
    Jul 16, 2017
    2
    @ijse

    谢谢回复。是这样的,在我看来,异步回调和事件机制这些早期处理异步的做法,都很简单,但都有问题。既然是攻略,那一定是介绍更好的做法,尽量让读者绕过一些坑,所以就没提。老赵的 wind.js 很棒,可惜早于这个世代,被埋没了,但这会儿再去介绍,也不太合适。fibjs 我的确没了解过,回头学习一下。
    ijse
    ijse
    Jul 16, 2017
    3
    是的,后来这些方式都不流行了,不过作为历史了解一下也不错,从中可以看出 js 的发展特点,也能够给读者一些不同思路。

    PS: 上一个回复中写错了,wind.js 不是编译而是使用 eval(), fibjs 才是。。
    sagaxu
    sagaxu
    Jul 16, 2017
    4
    在 await 出来之前,js 异步开发太烧脑了
    meathill
    meathill
    OP
    Jul 16, 2017
    5
    @ijse 不是吧,如果我没记错的话,wind.js 分开发环境和生产环境,前者用 `eval()`,后者编译。或者说正是因为前者用 `eval()` 被一群键盘侠骂惨了,老赵才搞了个编译版本出来,结果键盘侠还是不肯放过他,他才干脆关闭了项目。

    刚看了一下 fibjs,知乎上看的,感觉是另起炉灶的 node.js 啊,那成本有点高哟……
    nino
    nino
    Jul 16, 2017
    6
    老赵出 wind.js 的时候,前端有构建过程的公司,少之又少…… 这几年算是天翻地覆了
    meathill
    meathill
    OP
    Jul 16, 2017
    7
    @nino 没错,我也是从他那里学到的,原来还能这样玩~~
    AlwaysBee
    AlwaysBee
    Jul 16, 2017
    8
    @meathill 当初公司就是用 fib.js 重构代码(勇气可嘉啊),大半年之后,还是回到 node.js
    Sapp
    Sapp
    Jul 17, 2017
    9
    自从有个 async/await,再也没觉得异步是个什么很麻烦的事了...
    LeeSeoung
    LeeSeoung
    Jul 17, 2017
    10
    不错,支持下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2310 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 13:07 · PVG 21:07 · LAX 05:07 · JFK 08:07
    ♥ Do have faith in what you're doing.