ES6 从入门到精通 # 17:Promise 的基本使用

Posted 凯小默

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6 从入门到精通 # 17:Promise 的基本使用相关的知识,希望对你有一定的参考价值。

说明

ES6 从入门到精通系列(全23讲)学习笔记。

Promise

Promise 相当于一个容器,保存着未来才会结束的事件(异步操作)的一个结果

  1. 对象的状态不受外界影响(Pending 进行中,Resolved 成功,Rejected 失败)
  2. 一旦状态改变,就不会再变,任何时候都可以得到这个结果
 let pro = new Promise((resolved, rejected) => 

 )

 console.log(pro)

let pro = new Promise((resolved, rejected) => 
    let res = 
        code: 200,
        desc: "处理成功",
        data: 
            name: "kaimo"
        
    
    setTimeout(() => 
        if(res.code === 200) 
            resolved(res.data);
         else 
            rejected(res.desc);
        
    , 1000)
)

pro.then(val => 
    console.log(val)
, err => 
    console.log(err)
)

let pro = new Promise((resolved, rejected) => 
    let res = 
        code: 500,
        desc: "服务器内部异常",
    
    setTimeout(() => 
        if(res.code === 200) 
            resolved(res.data);
         else 
            rejected(res.desc);
        
    , 1000)
)

pro.then(val => 
    console.log(val)
, err => 
    console.log(err)
)

封装一下,可以传参数

function getData(ms) 
    return new Promise((resolved, rejected) => 
        setTimeout(() => 
            resolved("如果你追到我,我就让你嘿嘿嘿");
        , ms)
    )

getData(1000).then(res => 
    console.log(res)
)

以上是关于ES6 从入门到精通 # 17:Promise 的基本使用的主要内容,如果未能解决你的问题,请参考以下文章

ES6 从入门到精通 # 19:Promise 对象的其它方法

ES6 从入门到精通 # 19:Promise 对象的其它方法

ES6 从入门到精通 # 18:使用 Promise 封装 ajax

ES6 从入门到精通 # 18:使用 Promise 封装 ajax

ES6 从入门到精通 # 20:async 的用法

ES6 从入门到精通 # 20:async 的用法