随笔 - 156,  文章 - 1,  评论 - 0,  阅读 - 42164

 

1为什么需要promise:

ajax请求id,id请求用户名,用户名获取email

  产生回调地狱:回调函数中嵌套回调

Promise解决了回调地狱

 

2promise使用。

promise是一个构造函数,通过new关键字实例化对象。。

 语法:
 1 new promise()

promise函数接受参数。(一个函数)一个函数作为,参数。 ()=>{} 

参数函数接受参数。

    resolve,reject。

 

2 promise 实例有两个属性。

 state:状态。

 result:结果。

 

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

1) promise对象的状态:(ajax:准备,成功了,失败了,)

1 pending 装备

2 fulfill:成功。完成

3 rejected:失败

 

2) 状态的改变:

通过调用reslove()和reject()改变当前的promise 的对象状态。

 

resolve();promise对象的状态 改成fulfilled

reject();promise对象的状态 改成 rejected;

promise状态改变是 一致性的。

 

3)promise的结果。

 

 

3 p对象 的方法。

promise函数里面有3个方法。

then方法。

参数:1 是一个函数,(成功的时候执行)2还是一个函数。(失败的时候执行。)

返回值:是一个promise对象。

p.then( ()=>{

console.log(‘成功时候调用。’)//resolve

},()=>{

console.log(‘失败的时候调用’); //reject

} )

console.log(p);

then方法的参数函数中,通过promise对象结果。

then方法返回一个promise实例。状态,pending。

pending。 fulfilled。

 

链式操作: new  Promise((resolve,reject)=>{}).then().then()

then 方法,通过return 返回的promise改为fullfiled。

 

 

 

 

 

posted on   程序员草莓  阅读(125)  评论(0编辑  收藏  举报

点击右上角即可分享
微信分享提示