【发布时间】:2018-02-12 09:38:58
【问题描述】:
function getOrderItemInfo() {
var deferred = $q.defer();
$http.get('v1/order/show')
.success(function(res){
var data = res.data;
var users = auth.getCurrentUser().children;
/*
would like to pass deferred.resolve(data);
*/
users.forEach(function(e){
e.user_id=e.user_id.toString();
})
var finalArray = _.differenceBy(users, data, "user_id");
/*
would like to pass deferred.resolve(finalArray); as well
*/
if(finalArray.length > 0){
deferred.resolve(finalArray);
}else{
users.status = "404";
deferred.resolve(users.status);
//return;
console.log("Does not exist");
}
}).error(function(error){
console.log(error);
deferred.reject(data.message);
});
return deferred.promise;
}
我想从一个功能服务传递两个承诺 deferred.resolve(数据); deferred.resolve(finalArray);
调用此服务方法时返回两个数组是否可以,请指导
【问题讨论】:
-
你可以用数组解决:
deferred.resolve([data,finalArray]);同样在你的错误函数中数据超出范围 -
如果我们想将两者合并到一个数组中怎么办
标签: javascript angularjs