我的AngularJS应用程序具有这样的功能。AngularJS如何等待,直到承诺返回
function createDefaultRequest() {
var paramServiceId = currentUser.serviceId;
var paramStatuses = myRequestService.getStatuses();
var paramSubServices = [];
paramSubServices = getSubService(paramServiceId);
vm.subServices = paramSubServices;
var defaultRequest = myRequestService.createRequest(
paramServiceId, paramSubServices, paramStatuses);
return defaultRequest;
}
function getSubService(paramServiceId) {
medicalServiceFactory.subservices().query({
serviceId: paramServiceId
},
function(subServicesData) {
subServicesData.forEach(function(thisSubservice) {
thisSubservice.ticked = true;
});
return subServicesData;
},
function(response) {
vm.errorMessage = response.statusText;
});
}
我想myRequestService.createRequest(...)
等到getSubService()
回报。现在paramSubServices
和vm.subServices
总是为空[]
。如何在不移动.query()
的回调块中的createRequest(...)
的情况下实现此目的?谢谢。
是否一个答案解决您的问题? :) – Mistalis