``` javaScript
async function wait(num){
return new promise(
(resove) => {
setTimeOut(
() => {
resove(1)
})
});
```
这是一个比较经典的异步函数调用。如果我们想要获取那个“1”,要么`await wait(0)`,要么`wait(0).then((r => {}`
我们通常想实现的效果是,让当前进程等待一定时间后给用户反馈。那此时我们允许用户做其他操作吗?比方说滚动页面,输入文本等。应该是允许的。只有当前操作不允许重复触发(一般会禁用按钮),或者整个页面显示一个转圈圈。无论哪种情况,在主线程做异步操作都会直接卡死主线程(实践过的),无论是用户操作还是转圈圈(JS特效)都无法进行。直接卡死。用户大概率直接刷新。
所以我们不能让用户觉得自己“卡了”,所以JS才强制把要等的工作丢异步去。
页:
1
[2]