Javascript中promise,async和await的区别是什么
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本文小编为大家详细介绍"Javascript中promise,async和await的区别是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"Javascript中promise,async和awa
千家信息网最后更新 2025年01月19日Javascript中promise,async和await的区别是什么
本文小编为大家详细介绍"Javascript中promise,async和await的区别是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"Javascript中promise,async和await的区别是什么"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
终于把promise, async, await的区别和联系弄清楚了,看下面代码
写法1,2是promise的写法
写法6是async和await的写法
主要看第2种写法和第6中写法即可, 第2种写法是promise的典型写法,第6中写法是async, await的典型写法
// 以下三个请求依次执行req1 = () => { return fetch("http://example.com/api/v1/get")}req2 = () => { return fetch("http://example.com/api/v1/post")}req3 = () => { return fetch("http://example.com/api/v1/delete")}//写法1req1().then(res=>{ console.log("1: ",res) req2().then(res =>{ console.log("2: ",res) req3().then(res =>{ console.log("3: ",res) }) })})// 写法2req1().then(res =>{ console.log("1: ", res) return req2()}).then(res =>{ console.log("2: ", res) return req3()}).then(res =>{ console.log("3: ", res)})// 写法3function f1(){ req1() req2() req3()}// 写法4async function f2(){ await req1 await req2 await req3}// 写法5async function f3(){ req1().then(res => { console.log("1:", res) }) await f3_1()}async function f3_1(){ req1().then(res => { console.log("2:", res) }) await f3_2()}async function f3_2(){ req2().then(res=>{ console.log("3: ",res) })}// 写法6ff()async function ff(){ await req1_good()}async function req1_good(){ fetch("http://example.com/api/v1/get").then(res =>{ console.log("1: ",res) }) await req2_good()}async function req2_good() { fetch("http://example.com/api/v1/post").then(res =>{ console.log("2: ",res) }) await req3_good()}async function req3_good() { fetch("http://example.com/api/v1/delete").then(res => { console.log("3: ",res) })}
最外层的async函数调用之后立即返回了,但是async还是里面还是在逐层执行
await的作用是等待其修饰的函数内部的所有await函数都执行完毕,
从最外层启动一个async函数相当于go一个协程,await func 也相当于go 一个协程,不同在于await = go + waitgroup
await比promise高明的地方在于,promise在then里面调用另一个promise时,不得不return另一个promise再then, 或者在then中回调,但是await完全不需要
async是为了异步,await是为了异步+阻塞,缺一不可
读到这里,这篇"Javascript中promise,async和await的区别是什么"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
写法
函数
文章
典型
内容
外层
还是
不同
妥当
缺一不可
三个
代码
作用
地方
思路
新知
更多
步骤
知识
知识点
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
淄川酒店hr软件开发
app应用软件开发哪家靠谱
深圳云房网络技术有限公司
软件开发计价依据
快捷方式图标软件开发
app订制软件开发服务价格
网络安全宣传周属于会展吗
嵌入式软件开发工程师dsp
一个独立服务器可以分多少云主机
软件开发规范level2
网络安全数据管理条例
华为x6000服务器一般多少钱
游戏软件开发贴吧
上海壹鸿网络技术有限公司
魔兽轮回服务器能转服吗
金铲铲服务器满了登不上号
如何在数据库中为变量赋值
上海网络安全保卫
海南斯克比互联网科技有限公司
深圳市爱订云网络技术
网络安全检查 舆情转报
太仓手机软件开发
消逝的光芒2连不上服务器
数据库3表联查
服务器的游戏同步管理
联通服务器ip地址是什么
物理服务器租用精准报价
咸鱼买戴尔服务器
网络安全法的文章
虚拟化对服务器的要求