现在位置: 首页  >  编程技术  >  JS
js的async和await,与Promise的返回规则
0 1399

function getSomething(n) {

    return new Promise(resolve => {

        // 模拟1s后返回数据

        setTimeout(() => resolve(222), 1000);

    });

}


async function doit(){

    const r=await getSomething();

    console.log('r:',r)

    return r;

}


b=doit(); // 先输出一个 Promise 对象,然后输出 r:222


c=await doit(); // 先输出 r:222 ,然后输出 222


如果调用函数时不用await,函数内部的await不生效,依然走异步。
如果调用函数时用await,函数里await Promise的返回值会直接把Promise的resolve的返回值拎出来。


上一篇:js克隆对象
 评论
 站内搜索