有个地方没弄明白
来源:7-1 异步迭代:for await of
幕布斯0273514
2020-07-07
function getPromise(time) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(time);
}, time);
});
}
const arr = [getPromise(1000), getPromise(2000), getPromise(3000)];
arr[Symbol.asyncIterator] = function () {
let nextIndex = 0;
return {
next() {
return nextIndex < arr.length
? {
value: arr[nextIndex++],
done: false,
}
: {
value: undefined,
done: true,
};
},
};
};
async function test() {
for await (let key of arr) {
console.log(key);
}
}
test();
在使用异步的使用,定时器里的resolve({value:time,done:false}),而不能直接返回resolve(time)-输出结果为Promise {}
写回答
1回答
-
谢成
2020-07-08
请问想问的问题是什么呢?
022020-07-09
相似问题