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

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

  •  
  •   daijinming · 262 天前 · 5800 次点击
    这是一个创建于 262 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    fetchData()
    ```


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

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

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

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

    http://github.com/HuberTRoy/vue-shiyanlou
    kangu
        27
    kangu   262 天前
    谁用谁爽的,都应该没真实掉过坑的,await 写起来舒服,用得多了,光定位 error 估计都要命
    ugu
        28
    ugu   262 天前
    中国申奥成功了
    sagaxu
        29
    sagaxu   261 天前 via Android
    @murmur
    @no1xsyzy 内部项目随便玩,大发龙虎我 有个项目只支持最新版和次新版 chrome/firefox,其它版本都禁止使用。
    jinliming2
        30
    jinliming2   261 天前 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 带着发展的啊!
    murmur
        31
    murmur   261 天前
    @jinliming2 能不能找一个公众网站直接用 await 不 babel 的让大发龙虎我 见识一下,规模不用大,a 站这种规模就可以
    w292614191
        32
    w292614191   261 天前
    这个东西不是个语法糖之类的吗?
    就是在里面的回调里面调用另一个函数。

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