Angularjs fa-spinner等待http响应有时会挂起

时间:2018-03-26 14:03:01

标签: javascript angularjs

所以我有一个简单的代码,可以在api调用仍在进行时显示一些视觉效果。如下:

class Controller {
  constructor(apiService) {
    this._apiService = apiService;
    this.loadStatus = "";
    this.data = null;
  }

  loadData() {
    this.loadStatus = "loading";
    this._apiService.call()
      .then(res => {
        this.loadStatus = "success";
        this.data = res;
      })
      .catch(err => {
        this.loadStatus = "failed";
      });
  }
}
<span class="fa fa-spin fa-spinner" ng-if="$ctrl.loadStatus === 'loading'"></span>
<span ng-if="$ctrl.loadStatus === 'failed'">Failed to load!</span>
<p ng-if="$ctrl.loadStatus === 'success'"> {{$ctrl.data}}</p>

api只需调用$ http并在处理完http响应后返回一个promise。

现在我的问题是&#34; SOMETIMES&#34;微调器只是停止旋转,屏幕挂在加载微调器上,虽然响应发生了,浏览器加载了视图但它们不可见,我知道放置视图是因为当我用鼠标移动视图的位置时应该放置我可以看到指针根据视图元素css属性更改(如果视图有链接)。现在,当我在任何地方单击鼠标时,视图变得可见,并且微调器消失。我认为点击摘要周期时会发生什么?或者我不知道的事情?虽然$ http返回的承诺的then应该在$ apply中调用...有没有人知道这里有什么问题?

0 个答案:

没有答案