微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

前端-promise的使用

案例

var resdata = [
  { name: '平湖市', value: '330482000000' },
  { name: '嘉善县', value: '330421000000' },
  { name: '秀洲区', value: '330411000000' },
  { name: '南湖区', value: '330402000000' },
  { name: '桐乡市', value: '330483000000' },
  { name: '海宁市', value: '330481000000' },
  { name: '海盐县', value: '330424000000' }
];
      resdata.map((item, index) => {
        sysHomepage
          .count({ code: item.value })
          .then((res) => {  //api
            // console.log('regional返回的数据:', res.data.data);
            res.data.data.name = resdata[index].name;
            regional.push(res.data.data);
          })
            console.log('regional:', regional);
            this.initCharts();//渲染地图
      });

页面显示

在这里插入图片描述

此时共绘制了7次地图,然后使用promise:

    let P = new Promise((resolve, reject) => {
        resdata.map((item, index) => {
          sysHomepage.count({ code: item.value }).then((res) => {
            // console.log('regional返回的数据:', res.data.data);
            res.data.data.name = resdata[index].name;
            regional.push(res.data.data);
            console.log('regional', regional);
            if (index == 6) {
              resolve('完成');  //代码正常执行(会调用.then()函数),当异步代码失败时就会调用reject(...)
            }
          });
        });
      });
      P.then((value) => {
        this.initCharts();
      });

调完api后,才渲染一次。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐