Js 的Promise 异步编程模式

Posted BBinChina

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Js 的Promise 异步编程模式相关的知识,希望对你有一定的参考价值。

Promise语义统称 承诺对象, 在异步编程模式中, 通过创建承诺对象,将异步任务交由承诺对象执行后,主线程可以去执行其他任务。当需要获取异步任务的执行结果时,通过承诺对象可以获取到对应的结果值

Js 使用Promise

function test() {
    return new Promise((resolve, reject)=>{
        /*
        执行逻辑
        */
        let result = "";

        let success = false;

        if (success) {
            resolve(result);
        } else {
            reject(result);
        }
    })
}

Promise有三个状态:pending, resolve, reject
通过Promise的then语义可以获取到resolve返回的内容

function testPromise() {
    let p = test();
    console.log(p);
    //打印出的是promise对象

    test().then(res=>{
        console.log(res);
        //打印出result的值
    })
}

promise是浏览器引擎的内部任务,其执行优先级会高于浏览器的任务比如:timeout。

js原异步编程模式中还有async await语法。

await用于接收promise的resolve值,而使用await关键字的函数 必须使用async语法来返回一个promise:

async testAwait() {
    let res = await test();

}

以上是关于Js 的Promise 异步编程模式的主要内容,如果未能解决你的问题,请参考以下文章

简单实现异步编程promise模式

异步编程promise

理解js异步编程

Promise 模式解析:Promise模式与异步及声明式编程

Promise异步编程模式

Promise--介绍