Day4:关于asyns

7 阅读1分钟

一句话解释:

async/await 的本质就是:用同步的写法,写异步的操作

我的理解

async有两个作用:

首先,让异步操作变成同步操作,这个在网络请求端口号对接作用很大。

其次,他能简化promise,就.then可以省略直接输出promise的结果。

以下是代码练习

❌我所踩过的坑

定时器时间很短,输出会变成 1 → 2 → 3 吗?

答案是不会的。await 只卡住当前函数,不卡住函数外面的代码。

await 有一个“让路规则”。await 哪怕等 0 毫秒,也会先让外面的代码跑完。

所有,我理解了JS 是单线程,所有任务排着队执行,不存在"同时发生"。

一个练习的例子

针对这个代码我的疑问并有理解方案:

data是随便给的参数名,不是关键字。

setTimeout(函数, 毫秒数),意思是"等 X 毫秒后执行这个函数"而且本身是异步的。

在函数内部,value 就是 'hello'。它和 C# 里的参数概念是一样的——都是"函数调用时传进去的那个东西"。

最后是关于昨天promise收尾

结尾处用then来表示,其实没有then catch更轻便。

在写复杂链条时,.catch 更安全、更干净。

以下是两种写法的呈现

最后,虽然前端走全栈很难,但是我相信,

夜色难免薄凉,前路必有曙光。