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

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

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

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

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

    fetchData()
    ```


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

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

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

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

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

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