账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    我想使用async/await实现最快回来的请求数据最快处理
    27
    0

    我现在要请求多个地方的数据并把数据渲染在页面上,希望最快到的数据最快显示在页面上
    之前是用promise写的

    urls.map(function(url) {
        request(url).then(function(data) {
          render(data);
        })
    })

    现在希望改用async/await写,看了网上资料时发现都实现不了

    var datas = await Promise.all(urls.map(function(url){
        return request(url);
    }))
    这个我得等数据都回来后才可以显示页面
     var promises = urls.map(function (url) {
        return request(promises);
    })
     for(var i =0; i < promises .length;i++) {
       let data = await promises 
       render(data)
    }
    这个是第一个请求最早处理,我获取不了最快的那个

    为了获取最快那个我改成这样的

     var promises = urls.map(function (url) {
        return request(promises);
    })
     for(var i =0; i < promises .length;i++) {
       let data = await promises.then(function(data) {
       render(data)
    })
       
    }

    但是这样写还是摆脱不了then,和用promise写没啥区别,还有别的方法不

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部