美文网首页
promise异步操作

promise异步操作

作者: web周 | 来源:发表于2019-11-20 19:24 被阅读0次

    promise异步操作

    定义:包含异步操作结果的对象

    状态:

    进行中:pending
        在异步函数下方写pending时要执行的方法,在异步回调成功和失败内,改变pending执行方法的状态
    
    已成功:resolved
    
    已失败:rejected
    

    声明方式:

    new Promise((resolve, reject) => {})

    resolve:将状态从未完成变为成功,在异步操作成功时调用,并将异步操作的结果作为参数传递出去
    reject:将状态从未完成变为失败,在异步操作失败时调用,并将异步操作的错误作为参数传递出去

    promise使用

    promise.all 当请求都执行了之后,运行方法

    promise.race 竞速哪个快,访问哪个

    promise.then()

    书写异步返回
    2种写法

    • 写法1. 写在then内,第一个方法为成功,第二个方法为失败

    形式:promise.then(成功调用方法,失败调用方法)

        promise.then(function (value) {
            // success                                        
            console.log(value)
        }, function () {
            // failure
        })
    
    
    • 写法2. 写在then内,为成功,catch内为失败(一般使用第二种写法)

    形式::promise.then(成功调用方法).catch(失败调用方法)

        promise.then(function (value) {
            // success   
            console.log(value)
        }).catch(function (err) {
            /* 失败 */
            console.log('输出失败')
            console.log(err)
        })
    
    

    Promse.race

    赛跑的意思 比速

    Promise.race([p1, p2, p3])里面哪个结果获得的快,就返回那个结果,不管结果本身是成功状态还是失败状态。

    可以用于资源请求

    相关文章

      网友评论

          本文标题:promise异步操作

          本文链接:https://www.haomeiwen.com/subject/gxlaictx.html