关于Promise的理解与基本用法

Promise 是一个对象,对象可以保存状态。

如何使用?

第一步:

new一个Promise (此时Promise 对象就处于已进行中的状态),Promise 需要一个参数,这个参数是一个函数,我们用箭头函数表示,这个箭头函数接受两个参数,resolve和reject函数。

const promise = new Promise((resolve,reject)=>{

});
第二步:

把需要处理的异步函数写在箭头函数中

const promise =new Promise((resolve,reject)=>{
    //promise有三种状态,pending异步操作进行中  fulfilled已成功 rejected已失败
    //当改变了promise的状态后,就凝固了,不可再逆转
    wx.getSystemInfo({
        success:(res)=>{
            //通过调用resolve可以把进行中的promise修改为已成功
            resolve(res)
        },
        fail:(error)=>{
            //通过调用reject可以把进行中的promise修改为已失败
            reject(error)
        }
    })
});
第三步:

通过promise变量来接收异步调用的结果

promise.then((res)=>{
    //成功时的回调函数
    console.log(res)
}, (error)=>{
 //失败时的回调函数
    console.log(error)
})

最后,整理一下使代码简洁一些

const promise = new Promise((resolve,reject)=>{
    wx.getSystemInfo({
        success:res=>resolve(res),
        fail:error=>reject(error)
    })
});
promise.then(
    res=>console.log(res),
    error=>console.log(error)
)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容