await

前端开发Kingcean 2020-05-29

await expression ( value or promise )

①expression 一般是 promise 对象,也可以是其他值

②如果是 promise对象,await 返回的是 Promise 成功的值

③如果是其他值,直接将此值作为 await 的返回值

④await 必须写在 async 中,但 async 中可以没有 await

⑤如果 await 的 promise 失败,就会抛出异常,需要通过 try ... catch...捕获处理

function fn1(){
        return new Promise((resolve,reject)=>{
            resolve(1)      
        })
    }
    function fn2(){
        return 2
    }
    function fn3(){
        return Promise.reject(3)
    }
    async function fn4(){
        const value1 = await fn1()
        const value2 = await fn2()
        console.log("value1:",value1)
        console.log(‘value2:‘,value2)
        try {
            const value3=await fn3()
        } catch (error) {
            console.log("error:",error)
        }
    }
    fn4()

    //value1:1
    //value2:2
    //error:3

相关推荐