我有一个AngularJS服务,里面有多种方法 某些方法暴露给控制器以便在进程中添加,这些方法由服务处理,然后由服务广播结果。
但我不清楚我的方法是否在进行中(方法尚未完成处理)并且某些控制器再次调用相同的方法。如何处理这种情况。
另外,我们怎样才能使用信号量这样的顺序 我不想阻止对服务的调用,而是让它们按顺序执行。或者它已经由AngularJS框架完成了?
angular.module('MyAppModule').run(['MyService', function(MyService)
{
MyService.initService();
}])
.service('MyService', ['$rootScope', function($rootScope)
{
this.initService = function()
{
// Init
}
// This method is getting called async
// Also this method calls multiple methods inside this service
this.doSomeTask = function()
{
....
foo();
....
}
function foo()
{
// Done some long task
}
function foo2()
{
// Done some long task
}
this.doSomeTask2 = function()
{
....
foo2();
....
}
}]);
我在这个服务中有多个方法,它们是从控制器异步调用的。