Promise对象

参考文章

Promise 用于处理异步调用的返回值

语法

new Promise(function(resolve,reject){ })

Promise构造器的参数是function类型,该function有两个为方法类型的参数,resolve和reject,如果调用了resolve说明该Promise被成功解析,而当调用了reject时,表明该Promise的值不能用于后续处理也就是被拒绝了。这两个方法主要用于初始化异步调用代码,一旦异步代码调用完成,要么调用resolve方法表示promise被成功机械,要么调用reject方法表明Promise被拒绝。

then(成功回调函数,失败回调函数)

pending状态的Promise对象可能被填充了(fulfilled)值,也可能被某种理由(异常信息)拒绝(reject)了。当其中任一种情况出现时,Promise对象的then方法绑定的处理方法(handlers )就会被调用(then方法包含两个参数:onfulfilled和onrejected,它们都是Function类型。当值被填充时,调用then的onfulfilled方法,当Promise被拒绝时,调用then的onrejected方法, 所以在异步操作的完成和绑定处理方法之间不存在竞争)

基本用法

function doThings(){
     return new Promise(function(resolve,reject){
          setTimeout(function(){
               resolve('成功')
         },0) 
     })
}

doThings().then(function(res){console.log(res)})  //输出  -  ‘成功’

链式用法

function doThings1(){
     return new Promise(function(resolve,reject){
          setTimeout(function(){
               resolve('成功1')
         },0) 
     })
}  

function doThings2(m){
     return new Promise(function(resolve,reject){
          setTimeout(function(){
               resolve(m)
         },0) 
     })
}

doThings1().then(function(res){return doThings2(res)}).then(function(res){ console.log(res)})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 00、前言Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区...
    夜幕小草阅读 6,426评论 0 12
  • 本文适用的读者 本文写给有一定Promise使用经验的人,如果你还没有使用过Promise,这篇文章可能不适合你,...
    HZ充电大喵阅读 12,058评论 6 19
  • Promise 建立 Promise 对象用来传递异步操作消息,代表一个未来才会知道结果的事件,并且对不同事件提供...
    faremax阅读 2,682评论 0 0
  • Promise 对象 1.Promise对象是ES6对异步编程的一种解决方案,它有以下两个特点: Promise对...
    Cryptic阅读 4,569评论 1 5
  • 6月25号赵思凯给月赢打电话,说晚上会早些回来,月赢告诉他回来就到她家来吃饭。 月赢回家后把饭菜做好,快8点赵思凯...
    赢月照星空阅读 1,517评论 4 6

友情链接更多精彩内容