const list = [1,2,3,4,5,6,7,8,9,10]
const promisesList = list.map(item=>{
return new Promise(suc=>{
const time = Math.random()*(10000-1000)+1000 | 0
console.log("准备执行item",item,"定时器毫秒秒数",time,"执行时间戳",+new Date(),)
setTimeout(()=>{
// console.log("输出item",item,+new Date())
const log = {
item,
"执行时间戳":+new Date(),
"定时器毫秒秒数":time
}
console.log("输出log",log)
suc(log)
},time)
})
})
// console.log("promisesList",promisesList)
//方法1不行, all是一次执行所有
// Promise.all(promisesList).then(res=>{
// console.log("promise数组list执行完了",res)
// }).catch(err=>{
// console.log("执行错误")
// })
//方法2 for怎么不等上一个执行完 再执行一下个
// const promiseExecution = async () => {
// for (let promise of promisesList) {
// const res = await promise;
// console.log("for循环按顺序执行res",res)
// }
// };
// promiseExecution();
// 方法3
const promiseExecution = async () => {
for(let i = 0 ;i<list.length;i++){
console.warn("在for循环里",i)
let res =await promisesList[i]
// let res = await new Promise(suc=>{
// const time = Math.random()*(5000-1000)+1000 | 0
// console.log("准备执行i",i,"定时器毫秒秒数",time,"执行时间戳",+new Date(),)
// setTimeout(()=>{
// // console.log("输出item",item,+new Date())
// const log = {
// i,
// "执行时间戳":+new Date(),
// "定时器毫秒秒数":time
// }
// console.log("输出log",log)
// suc(log)
// },time)
// })
console.log("输出res",res,i)
}
};
promiseExecution();
console