在使用 async/await 时,需要注意异步操作的执行顺序和间隔时间,确保代码按照预期执行。如果遇到数组无法填充的问题,可以在使用 await 关键字时加上 await Promise.resolve() 来确保异步操作执行完成。以下是一个示例代码:
async function fetchData() {
const data = await fetch('https://jsonplaceholder.typicode.com/users');
const users = await data.json();
return users;
}
async function getData() {
const userList = [];
const data = await fetchData();
for (let i = 0; i < data.length; i++) {
userList.push(data[i]);
}
console.log(userList); // []
await Promise.resolve(); // 确保异步操作完成
console.log(userList); // [Object, Object, Object, ...]
}
getData();