aysnc-await的用法

本文介绍了JavaScript中的async和await特性,它们使异步代码更简洁易读。async函数确保返回Promise,而await在async函数内部暂停执行,直到Promise解析完成。这类似于Promise链的then方法,但更直观。
摘要由CSDN通过智能技术生成

aysnc-await是promise的一种特殊语法,它可以更简洁的得到promise

aysnc function

aysnc 放在函数前定义函数,它规定了这个函数的返回值一定为promise,

// 通过new新建一个promise(旧)
// let p = new Promise(function(resolve,reject){
//     //执行一个操作

// });

// 通过async得到一个promise(新)
async function sum(){
    return 1;// 等同于 retrun Promise.resolve(1);
}
console.log(sum());

在函数前面的 “async” 表达了一个简单的事情:《即这个函数总是 "返回" 一个 promise。》

await

await只能用在aysnc的函数内,它会中断函数的执行,等待promise的完成再继续向下执行函数

// await用法,写在promise前表示等待promise结果 
let result = await p; // p为一个promise,
// 此时result的值为promise的结果,而不是这个promise p

这里await会等待p执行结束再给result进行赋值,

async function f(){
    let p = new Promise((resolve,reject)=>{
        setTimeout(()=>resolve("pending,等待promise"),2000) ;
    })
    let result = await p; // 等待,直到 promise resolve (*)
    console.log(result);
}
f();

2秒后得到promise结果,而不是直接返回promise

await会等待promise的结果,在进行操作(这里是赋值),类似于p.then()

总结

        aysnc 关键字用在函数前,保证函数返回的结果得到一个promise;await用在aysnc内的promise前,它会等待promise的结果再向下执行用函数

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值