定时器同步问题
场景
1.异步代码
代码如下(示例):
console.log('1')
setTimeout(() => {
console.log('2')
}, 1500);
console.log('3')
由于是定时器setTimeOut是异步的,运行结果是1 3 2
现在通过promise实现1 2 3的顺序
2.使用promise改为同步
代码如下(示例):
const f1 = async() => {
return new Promise(resolve => {
setTimeout(() => {
resolve()
console.log('2')
}, 1500);
});
}
const f2 = async() => {
console.log('1')
await f1()
console.log('3')
}
f2();
运行结果是 1 2 3