核心概念
异步(async)
/ AY-sink /
异步(async)是一种做法:先去启动某件慢吞吞的事——比如从网络取数据、读一个大文件——然后不傻等,继续去做别的活。等那件慢事终于办完了,代码再绕回来处理它的结果。
可以想象点咖啡:你不会僵在柜台前一直等到做好。你拿个取餐器,先找位子坐下,等饮料做好取餐器就会响。这个取餐器就是「承诺(promise)」——一个还没到货的答案的占位符。而「等待(await)」,不过是你主动选择:先坐下来等这一声响,再去做下一件事。
这就是为什么初学者很早就会遇到 promise 和 await:一次网络请求可能要花半秒,而半秒对计算机来说是漫长的永恒。异步让程序保持灵活、随叫随应,而不是干等时整个卡死。
const data = await fetch('/api/user'); // pause here, but only here
console.log(data); // runs after it arrivesawait 在网络请求处暂停,拿到结果后再继续。
「异步」不等于「更快」——它的意思是不傻等。那件慢事该花多久还是花多久。
又称
另见