var list =[1,3,5,6,8]
//延时操作列表
function doubleList(list) {
return new Promise(function (resolve) {
setTimeout(function () {
let doublelist = []
for(let item of list){
doublelist.push(item*2)
}
resolve(doublelist);
}, 1000);
});
}
//用于循环列表的异步函数
function delayShow(data){
return new Promise(function(resolve){
setTimeout(function(){
data = data+10
resolve(data)
},2000)
})
}
//异步函数循环列表同步输出的方法一
doubleList(list).then(async res=>{
console.log(res)
for(let item of res){
var newitem = await delayShow(item)
console.log (newitem)
}
})
//异步函数循环列表同步输出的方法二 构造函数
async function outshow(){
let newlist = await doubleList(list)
console.log(newlist)
for(let item of newlist){
let newitem = await delayShow(item)
console.log (newitem)
}
}
outshow()