AngularJS 带有 $resource 承诺的启动画面

AngularJS splash screen with $resource promiese

我有一个应用程序,在呈现实际应用程序之前必须加载一些数据 (ajax)。我想显示一些初始屏幕以向用户提供反馈,说明某些内容仍在加载中。

Where/How 我应该调用该服务的初始化方法吗?

var app = angular.module('App', []);

app.service('DataSet1', function(){
    this.initialize = function(){
        //.. returns promiese
    }
});
app.service('DataSet2', function(){
    this.initialize = function(){
        //.. returns promiese
    }
});
app.service('DataSet3', function(){
    this.initialize = function(){
        //.. returns promiese
    }
});

我会很感激任何帮助如何实现这个

编辑:添加 jsbin 示例

新答案

jsbin example

这种新方法,通过将 {showLoader: true} 作为请求选项的一部分传递,您可以指定为哪些请求显示“正在加载...”面板。

这利用 httpInterceptor 和工厂来跟踪未决请求。

旧答案(加载将显示任何待处理的请求)

http.pendingRequests.length !== 0;

确保 http 在您的范围 null 中公开。

<spinner ng-if="http.pendingRequests.length"></spinner>