function muti (num) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(num * num)
}, 1000)
})
}
const nums = [1, 2, 3]
!(async function () {
for (i of nums) {
const res = await muti(i)
console.log('for...of', res)
}
})()
!(async function () {
for (let i = 0; i < nums.length; i++) {
const res = await muti(nums[i])
console.log('for', res)
}
})()
!(async function () {
for (i in nums) {
if (nums.hasOwnProperty(i)) {
const res = await muti(nums[i])
console.log('for...in', res)
}
}
})()