专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

async-await

async/await

asyncES7的与异步操作有关的关键字,其返回一个Promise对象,await操作符用于等待一个Promise对象,它只能在异步函数async function内部使用。

async

语法

async function name([param[, param[, ... param]]]) { statements }

  • name: 函数名称。
  • param: 要传递给函数的参数的名称。
  • statements: 函数体语句。

async函数返回一个Promise对象,可以使用then方法添加回调函数,返回的Promise对象会运行执行resolve异步函数的返回结果,如果抛出异常则运行拒绝reject

实例

async function asyncPromise(v){
    return v;
}

asyncPromise(1).then((v) => {
    console.log(v);
}).catch((e) => {
    console.log(e);
})

await

async一般是配合await指令使用的,该指令会暂停异步函数的执行,并等待Promise执行,然后继续执行异步函数,并返回结果。若Promise处理异常rejectedawait表达式会把Promise的异常原因抛出。另外,如果await操作符后的表达式的值不是一个Promise,则返回该值本身。

实例

function promise(){
    return new Promise(function(resolve,reject){
        var rand = Math.random() * 2;
        setTimeout(function(){
            resolve(`solve ${rand}`);
        },1000)
    })
}

(async function asyncPromise(){
    var result = await promise();
    console.log(result);
})();

// 捕捉异常
function promise(){
    return new Promise(function(resolve,reject){
        throw new Error(`reject`);
    })
}

(async function asyncPromise(){
    var result = await promise();
    console.log(result);
})().catch((e) => {
    console.log(e);
});

// 非promise对象直接返回该值本身
function notPromise(){
    return 1;
}

(async function asyncPromise(){
    var result = await notPromise();
    console.log(result);
})();

文章永久链接:https://tech.souyunku.com/39540

未经允许不得转载:搜云库技术团队 » async-await

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们