Javascript中promise,async和await的区别是什么
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,本文小编为大家详细介绍"Javascript中promise,async和await的区别是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"Javascript中promise,async和awa
千家信息网最后更新 2025年11月10日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安全错误
数据库的锁怎样保障安全
云服务器清空硬盘数据
广东地区用哪个区域服务器云空间
手相测算软件开发
数据通信与网络技术题
服务器导轨左右怎么区分
fm2022数据库大小
宝山区创新软件开发常见问题
中国联通网络安全交流会
深圳android软件开发
司法局网络安全工作会议
软件开发是科学技术服务业
股票和软件开发的区别
抗菌肽数据库联系邮箱
物灵网络技术有限公司怎么样
网络安全技术管控
数据库的回滚查询代码后缀名
三级网络技术秘籍
软件开发行业个人简历
联想服务器磁盘管理
密钥管理数据库
手相测算软件开发
数据库查询关联程序版本
中国互联网根服务器
r210服务器管理口
协议软件开发注重哪些
中国互联网领先科技
渤海大学软件开发
医保动态数据库维护
有线网络安全问题有哪些
赛季服哪个服务器联盟人多