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

JavaScript 异步开发全攻略

  •  
  •   meathill ·
    meathill · Jul 16, 2017 · 4766 views
    This topic created in 3223 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
        1
    ijse  
       Jul 16, 2017
    很不错~

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

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

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

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