码迷,mamicode.com
首页 > 其他好文 > 详细

Promise

时间:2018-09-02 18:43:35      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:led   一个   success   color   timeout   就会   ima   出现   fun   

// Promise介绍

// 在 JS 中,实现异步编程,一般就是通过 回调函数 的方式来实现的,回调函数就会形成下面的函的回调地狱的问题,代码看上去就会比较恶心。

$.ajax({
  success: function () {
    $.ajax({
      success: function () {
        $.ajax({
          success: function () {

          }
        })
      }
    })
  }
})

 

技术分享图片

// Promise 的出现是为了解决 回调地狱 问题,使用Promise后,让代码的开发体验更优雅

 1 使用链式编程的方式,来代替原始的回调函数
 2 能够使用同步编程的思维来写异步代码

// Promise 理解为一个容器,这个容器中封装了异步操作,那么,Promise会保证这个异步操作将来一定会发生,不管是成功还是失败,并且会将这个异步操作的结果通知到你

// Promise 中的三个状态:
// 1 pending 等待
// 2 fufilled 成功
// 3 rejected 失败

 

 

// Promise语法

Promise 是一个构造函数

参数:是一个回调函数
回调函数有两个参数: resolve / reject
resolve 表示成功的函数
reject 表示失败的函数

const p = new Promise(function (resolve, reject) {

  // 封装一个异步操作
  setTimeout(function () {

    resolve()

    reject()
  }, 1000)

})

p
  // 当Promise中调用 resolve() ,这个函数会执行
  .then(function (data) {
    console.log(‘then:异步操作成功了‘, data);
  })
  // 当Promise中调用 reject() ,这个函数会执行
  .catch(function (err) {
    console.log(‘catch: 异步操作失败了‘, err);
  })

 

Promise

标签:led   一个   success   color   timeout   就会   ima   出现   fun   

原文地址:https://www.cnblogs.com/congtt/p/9574295.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!