我现在要请求多个地方的数据并把数据渲染在页面上,希望最快到的数据最快显示在页面上
之前是用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写没啥区别,还有别的方法不
慕少森
相关分类