JavaScript中的Promise对象

版权声明:转载请注明出处! https://blog.csdn.net/zjq_1314520/article/details/81132663

标签: JavaScript Promise
另见:https://github.com/weixublog/weixu-article/blob/master/contents/article/2018/07-20%20JavaScript%E4%B8%AD%E7%9A%84Promise%E5%AF%B9%E8%B1%A1.md


在ES6中,Promise对象成为了一个原生对象,有关其基本的用法如下

我们经常会看到格式如下的代码

  Promise.resolve("success").then(result => {
    console.log(result);
  });

控制台打出结果为:success


Promise是运用在异步编程中的,比如说加载图片的时候我们就希望图片不阻塞主线程等等。
Promise对象有三种状态:进行中,成功,失败

我们再看如下代码

      let p = new Promise(function (resolve, reject) {
        if (STATUS === 'SUCCESS') {
          resolve("success");
        } else {
          reject("fail");
        }
      });

      p.then(
        function (val) { console.log(val); },
        function (err) { console.log(err); }
      );

在实例化Promise的时候传入一个方法,该方法的两个参数分别是两个回调函数,其中resolve为成功时的回调,reject为失败时的回调

在看第二段代码,p.then(),接受两个方法,其中function (val) { console.log(val); }为成功时回调执行的方法,function (err) { console.log(err); }为失败时回调执行的方法

这样也就是说,当STATUS的值为SUCCESS时,控制台打出succcess,反之,控制台打印fail

上面的写法还有另外一种形式,如下代码

      Promise.resolve("success").then((val) => {
        console.log(val)
      });

      Promise.reject("fail").then(null,(err) => {
        console.log(err)
      });

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页