js async await异步

    技术2025-10-29  16

    async 是一个修饰符,async 定义的函数会默认的返回一个Promise对象resolve的值,因此对async函数可以直接进行then操作,返回的值即为then方法的传入函数。

    await 也是一个修饰符,await 关键字只能放在 async 函数内部, await关键字的作用 就是获取 Promise中返回的内容, 获取的是Promise函数中resolve或者reject的值。 如果await 后面并不是一个Promise的返回值,则会按照同步程序返回值处理。

    function f1(){ return 'f1' } // 使用async关键词的函数会被包装,自动返回promise类型数据 async function f2(){ return 'f2' // 等价于不加async关键字时 // return Promise.resolve('f2') //return new Promise((resolve,reject) => {resolve('f2')}) } function f3(){ return new Promise((resolve,reject) => { setTimeout(() => { console.log('ff3') resolve('f3') },2000) }) } function f4(){ return Promise.reject('f4') } async function main(){ const c1 = await f1() console.log(c1) const resp = await f3() console.log('------') console.log(resp) try { var c = await f4() }catch{ console.log('error') } } main() // output // f1 // ff3 // ------ // f3 // error
    Processed: 0.008, SQL: 9