JS async函数
一,async函数介绍
1.async函数是异步的一种方案,可以让异步的操作同步执行。
二,async函数基本形式
1.声明形式:在函数前加上关键字async 表示该函数是一个async 函数
async function fn(){ await ... } const fn = async ()=> { await ... } etc
2.函数内部通常有许多await
三,await命令
1.await有等待的意思,需等待后面的Promise 执行结束才会执行下一步。这里强调一下后面的Promise,是因为假如后面直接跟的是一个计时器,那么计时器虽然是异步操作,但是不会等计时器回调函数执行才执行下一步。
2.await后面可以跟Promise,和其他类型的数据,
(1)当跟的是Promise时值是执行成功的返回值,
async function fn(){ let a = await Promise.resolve(1) a=1 let b = await Promise.resolve(2) b=2 return a+b } fn().then(v=>v) v =3
(2)如果是其他数据时,返回值就是数据本身会返回的值,该啥值是啥值。
function k(){} async function fn(){ let a = await k //a就是函数k let b = await 1 //b=1 let c = await setTimeOut(...) //c是定时器的id数值 return a+b } fn().then(v=>v) v =3
四,async函数返回Promise对象
1.async函数返回值是一个Promise对象,可以使用.then接受一个回调函数,和Promise所有的操作
2.Promise的状态改变的的几种情况
(1)当await其中一个Promse执行失败,那么接下来的await不会继续执行,async函数返回Promise的状态变为失败,执行.catch方法
(2)当执行到return ,下面的await不会执行,return的值就是.then回调函数的参数
(3)当throw new Error 下面的状态不会执行,async函数返回Promise的状态变为失败,执行.catch方法
(4)当所有的异步操作都能成功时,那么只有所有异步操作执行完后,async函数返回Promise的状态变为成功,返回值是return的值
————————————————
版权声明:本文为CSDN博主「豆瓣酱,」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40340943/article/details/122972446
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类