使用JQuery AJAX 解决vue中图表渲染异步问题

vue一般使用axios 发送请求,得到  一个promise对象,一般对数据进行处理是在.then()方法中执行,如:
CommonApi.EnumType.getBusinessTypes({}).then(data => {
          CommonApi.EnumType.getNodeTypes({ businessTypes: data.data.map(item => item.value).join() }).then(nestedData => {
            this.nodeTypes = nestedData.data
          })
        })

.then()方法异步处理数据,如下面的代码111有可能会比123早输出,这就是异步。

.then(()->{
console.log('123')
})
console.log('111')

详细可查看promise文档。

所以页面可能会出不来数据,以下为同步方法

  方法名(参数(可选)) {
    return $.ajax({
      url: url,
      async : false,
      type : 'GET',
      beforeSend: function(request) {/**token信息可选*/
        request.setRequestHeader("Authorization", getToken())
      },
      dataType : 'json/xml/html',
      success : function (result) {
        return result
      }
    }).responseText
  }

猜你喜欢

转载自blog.csdn.net/SkyFire1121/article/details/80728076