大发龙虎首页    注册   登录
大发龙虎 = way to explore
大发龙虎 是一个大发龙虎关于 分享和探索的地方
现在注册
已注册用户请  登录
大发龙虎推荐 关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
大发龙虎推荐 书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
大发龙虎  ›  JavaScript

js 也可以支持 await 了吗,求教前端

  •  
  •   daijinming · 30 天前 · 3415 次点击

    await 大发龙虎我 还是第一次在前端代码中看到 await 关键字 ,前端大虾们讲讲

    40 回复  |  直到 2019-09-17 19:37:00 +08:00
        1
    zy445566   30 天前
    早就支持了,谁用谁爽谁知道
        3
    Sniper416   30 天前
    是的
        4
    murmur   30 天前
    这个 node 都要 8 以上才能用,浏览器肯定是要 babel 的
        5
    LiuJiang   30 天前
    这种东西百度一下不好吗?
        6
    daijinming   30 天前
    @murmur 也就是说直接在浏览器中运行还是不行的是吗
        7
    banxi1988   30 天前
    想要 await,又想要兼容性 大发龙虎推荐 使用 TypeScript
    [Why TypeScript] (3) 有甜度的 TS 之 async/await,数组及对象解构
    http://www.bilibili.com/video/av67096409/
        8
    zhwithsweet   30 天前
    @daijinming #6 Chrome 可以
        9
    randyo   30 天前 via Android
    @daijinming 最新版的浏览器可以用,如果大发龙虎你 不考虑兼容性的话😂
        10
    wunonglin   30 天前
    ```
    let fetchData = async function(){
    console.log('start')
    await new Promise(resolve => setTimeout(() => resolve(), 2000))
    console.log('end')
    }

    fetchData()
    ```


    为什么不行?不是已经支持很久了么,难道大发龙虎我 out 了?
        11
    wunonglin   30 天前
    http://caniuse.com/#search=async

    几百年前就支持了
        12
    Phariel   30 天前 via iPhone
    TS 或者 Babel 做个兼容性转译吧
        13
    15651980765   30 天前
    ES7 支持了 用起来比回调爽是真的谁用谁知道
        14
    ochatokori   30 天前 via Android
    chrome 早就可以了 现在连 class 都支持,碉堡了
        15
    realkenshinji   30 天前 via iPhone
    @murmur Node 从 7.6 开始支持的好么
        16
    yinjy   30 天前
    看了眼发帖时间
        17
    Clarke   30 天前 via Android   ♥ 1
    天翼 3G 太快了!
        18
    xrr2016   30 天前
    大发龙虎你 是 GG 还是 MM ?
        19
    moxiaonai   30 天前 via Android
    49 年入国军
        20
    jinliming2   30 天前 via iPhone
    @murmur
    @daijinming
    浏览器也支持好几年了,Chrome 55 开始支持的现在已经 Chrome 75 了。
    甚至浏览器都支持 # 开头的 class private fields 了,这个连 TypeScript 都还不支持,导致在 VSCode 里还报错……
        21
    tomoya92   30 天前 via iPhone
    @murmur chrome firefox 不用转也可以用
        22
    murmur   30 天前
    @jinliming2
    @tomoya92
    那就不上 babel 直接用么 看到时候出了兼容问题谁负责 反正 caniuse 上国内的数据是 79.34 的支持率
        23
    sunjourney   30 天前
    什么,大清亡了!
        24
    star7th   30 天前
    真的不是几年前的帖子?居然还有人问这个问题
        25
    no1xsyzy   30 天前
    不用 Babel 就好像在说:
    反正自己的用户不足百人, (1-91.13%=) 8.87% 的用户不能用也不过一双手数得过来……

    除了 Electron 其他都上 Typescript target: es5 就行了
    babel 转又不是大发龙虎你 手写……
        26
    cyrbuzz   30 天前
    正好有个在写的前端项目,前后端通讯用的异步库,回调`.then()` 和 `await` 两种写法都有(因为是一步步来的...刚开始的教程上只有.then 的异步,后来看了看 Js 异步的资料发现可以用 `await`)。

    还没完全写完,可以看看ಠᴗಠ。

    http://github.com/HuberTRoy/vue-shiyanlou
        27
    kangu   30 天前
    谁用谁爽的,都应该没真实掉过坑的,await 写起来舒服,用得多了,光定位 error 估计都要命
        28
    ugu   30 天前
    中国申奥成功了
        29
    sagaxu   30 天前 via Android
    @murmur
    @no1xsyzy 内部项目随便玩,大发龙虎我 有个项目只支持最新版和次新版 chrome/firefox,其它版本都禁止使用。
        30
    jinliming2   30 天前 via iPhone   ♥ 1
    现在用 IE11 日常正常上网都感觉有点阻力了,看 caniuse 最晚支持 await 的浏览器都是 2017 年 1 月就支持了,要是还使用 2 年前的浏览器并且彻底隔绝所有升级更新的,那么肯定已经不是正常用户了(网络联通状态下,几个月,撑死一年不更新都很难了,光自动更新都能给大发龙虎你 更新好几轮)。
    如果做的是大众型网站,肯定是不用考虑这些非正常终端的,因为这些终端设备肯定不是设计用来访问大众网站的。这些终端通常是办公型设备,上班摸鱼都是不允许的。或者是定制的设备比如 ATM 之类,更不可能正常使用的。
    而如果做的网站是面向 2 年前系统的,那么肯定是要单独定制的。

    对于 2 年前的浏览器还做专门兼容,大发龙虎你 想兼容它们一辈子吗?为啥不针对 IE5 IE6 做兼容嘞?毕竟还有很多怀旧的人去装 大发龙虎Win xp 大发龙虎Win 98,所以真实统计数据这些浏览器用户不会是 0。只不过真的有必要吗?
    网传某国军队内部还在用 大发龙虎Win 98,如果哪天要求大发龙虎你 为他们定制一个系统,大发龙虎你 那还真是有必要兼容的……

    babel 只不过是现代版本的 jQuery 罢了,让本应该升级的用户有理由停留在旧版本,反正有人帮着做兼容,只不过是拖慢整个大发龙虎互联网 发展的进程罢了。不然为啥国外 HTML5 取代 Flash 的速度比国内快那么多,就是 Chrome + FireFox 带着发展的啊!
        31
    murmur   30 天前
    @jinliming2 能不能找一个公众网站直接用 await 不 babel 的让大发龙虎我 见识一下,规模不用大,a 站这种规模就可以
        32
    w292614191   30 天前
    这个东西不是个语法糖之类的吗?
    就是在里面的回调里面调用另一个函数。

    大发龙虎你 写两个 ajax 试试,还不是要在 ajax 的 success 里面 resolve();
        33
    jydeng   30 天前
    要用 babel 转义,为了不加班修兼容性。
        34
    dbpe   30 天前
    什么 java8 发布了?
        35
    Curtion   30 天前
    是语法糖,做的就是 co 库的事情
        36
    chaliely   29 天前
    是的支持,await,必须要放在 async 函数里面
        37
    12tall   29 天前
    es2017 的特性吧,但是主流不还是 es2015 么
        38
    zephyru   29 天前
    @murmur 大发龙虎我 不是想抬杠..不过 github 好像没做兼容直接在用 await....当然大发龙虎你 觉得不算公众网站那就当大发龙虎我 没说..
        39
    murmur   29 天前
    @zephyru github 在 chrome 下的确使用了 es6 语法,但是在 IE 下会自动加载另外一套代码保证基本的操作正常
        40
    no1xsyzy   29 天前
    @zephyru 论 Github 的 PE,是大发龙虎我 见过并能想象的天花板。
    NoScript 的日子里(有类 Spectre 的 demo 还没修,而大发龙虎我 还用着 iu 的日子里),只有 Github,大发龙虎我 根本没有发现大发龙虎我 没开 JS 运行权限。
    导致大发龙虎我 有种拿网景浏览器都能正常使用 Github 的感觉。
    大发龙虎关于   ·   FAQ   ·   API   ·   大发龙虎大发龙虎我 们 的愿景   ·   广告投放   ·   感谢   ·   实用小大发龙虎工具   ·   4377 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 03:12 · PVG 11:12 · LAX 20:12 · JFK 23:12
    ♥ Do have faith in what you're doing.