async await和promise的区别,和使用方法
async和promise都是异步方法,区别是async生成的结果是promise对象,async是promise的终结版。
await只能在async中使用,await是阻塞的意思,就是暂停,你一起调用2个接口,第一个执行完,不输出结果,要等最第二个接口执行完,才返回这两个的结果。
现在一块请求两个对象
请求的对象1
function nvm(num){
return new Promise((resolve, reject)=>{
setTimeout(()=>{
resolve(num*2)
},2000)
})
}
请求的对象2
function nvm2(num){
return new Promise((resolve, reject)=>{
setTimeout(()=>{
resolve(num*2)
},3000)
})
}
在这写一个async方法
async function timi(res){
let a=await nvm(2) //这里执行2s //await后面可以跟任何方法,对象
let b=await nvm2(2) //这里执行3s
let c=await nvm(2) //这里再执行2s
console.log(a,b,c) //你等7s,才打印出结果
}
timi() //执行async方法
再写一个async方法 timi2()和第一个timi()做对比
async function timi2(res){
return "sss" //现在直接return出结果
}
console.log(timi2()) //打印出来promise对象Promise {<resolved>: "sss"}
// __proto__: Promise
// [[PromiseStatus]]: "resolved"
// [[PromiseValue]]: "sss"
timi2().then((res)=>{
console.log(res) //打印出sss
})
虽然timi2() 在 timi() 方法后面,但这个先执行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了