我的Item
模型有delete
,rename
等等。这些都是异步方法,所以当一个人被执行时,我会在我的视图中显示微调器。由于Item
模型上有许多异步方法,我不得不总是在我的控制器中这样做:
function delete() {
isRequesting = true;
item.delete().then(function() {
isRequesting = false;
}
}
function rename() {
isRequesting = true;
item.rename().then(function() {
isRequesting = false;
}
}
这些requesting=
语句使我的代码混乱,并且有可能忘记指定它。
我还有一个带有许多异步方法的单fileNavigator
,所以我在这里使用事件来控制请求:
fileNavigator.on(FileNavigatorEvents.REQUESTING, function (event, requesting) {
isRequesting = requesting;
});
在调用isRequesting
的异步方法时,我不再需要考虑fileNavigator
。
我的问题是我的Item
非单例实例是否有类似的模式?
答案 0 :(得分:1)
您使用的是$ resource吗?我建议使用Restangular,如果你使用Restangular,他们会有请求和响应拦截器自动触发广播以显示和隐藏你的Spinner。