Promise resolve()的用法

一直无法理解什么为什么会在异步之后使用 resolve() 这个resolve是什么意思,直到看到了这个回答

https://www.imooc.com/qadetail/188492


Promise 对象代表一个异步操作,有三种状态:Pending(进行中)、Resolved(已完成

,又称 Fulfilled)和 Rejected(已失败)。

通过回调里的resolve(data)将这个promise标记为resolverd,然后进行

下一步then((data)=>{//do something}),resolve里的参数就是你要传入then的数据


return new Promise((omg, reject) => {

  console.log('this is esri.js');

  axios.get(configFilePath).then(function (configResponse) {

    console.log(configResponse);

    GLOABLE = configResponse.data;

    const options = {

      url: GLOABLE.esriApiUrl + "init.js"

    };

    // _this.attributeSubmitModel.uploadUrl = GLOABLE.fileServerUrl + "error_report/medias";

    loadCss(GLOABLE.esriApiUrl + "esri/css/main.css")

    loadModules([

      "esri/Map",

      "esri/WebMap",

      "esri/Basemap",

      'esri/views/MapView',

      "esri/layers/TileLayer",

      "esri/layers/MapImageLayer",

    ], options)

      .then(([

              Map,

              WebMap,

              Basemap,

              MapView,

              TileLayer,

              MapImageLayer

            ]) => {

        _this.Map = Map;

        _this.WebMap = WebMap;

        _this.Basemap = Basemap;

        _this.MapView = MapView;

        _this.TileLayer = TileLayer;

        _this.MapImageLayer = MapImageLayer;

        omg()

      })


可以这样理解,在新建 promise 的时候就传入了两个参数

这两个参数用来标记 promise的状态的,这两个参数是两个方法,并且这两个参数可以随意命名,我这里的使用的是omg  也不影响使用

用于表示 promise 的状态

到执行到 resolve()这个方法的时候,就改变promise的状态为

fullfiled ,当状态为 fuulfiled的时候就可以执行.then()

当执行到 reject()  这个方法的时候,就改变 promise 的状态为

reject,当 promise 为reject 就可以.catch() 这个promise了

然后这两个方法可以带上参数,用于.then() 或者 .catch() 中使用。

所以这两个方法不是替代,或者是执行什么,他们的作用就是 用于改变

promise 的状态。

然后,因为状态改变了,所以才可以执行相应的 .then() 和 .catch()操作。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Promise 对象 Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函...
    neromous阅读 8,729评论 1 56
  • 前言 本文旨在简单讲解一下javascript中的Promise对象的概念,特性与简单的使用方法。并在文末会附上一...
    _暮雨清秋_阅读 2,226评论 0 3
  • //本文内容起初摘抄于 阮一峰 作者的译文,用于记录和学习,建议观者移步于原文 概念: 所谓的Promise,...
    曾经过往阅读 1,251评论 0 7
  • 『ES6脚丫系列』Promise Promise 文本主要内容如下: * Promise是什么? * 1.1 特点...
    吃码小妖阅读 1,013评论 0 12
  • 1. Promise 的含义 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个...
    ROBIN2015阅读 516评论 0 0