function getData(a) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(a);
});
});
}
let count = 0;
async function solve(num) {
// count += await getData(num);
let res = await getData(num);
count += res;
}
solve(1);
solve(2);
setTimeout(() => {
console.log(count);
}, 1000)
count += await getData(num);
的结果是2
let res = await getData(num);
count += res;
的结果是3
上面那个方式等同于
count = count + await getData(num);
在运行时count其实一直等于的是0 + await getData(num);
所以导致了结果为2的情况,在开发时要注意避免此类情况。