Я хочу объединить два массива, но результат всегда равен нулю. Я не знаю, в чем проблема, это мой код:angular.extend не работает в приложении Angularjs, чтобы объединить 2 массива
$scope.messages=[];
$scope.messagesRecieved=[];
$scope.messagesSent=[];
Message.getMessengerMessages(localStorage.getItem("token"),localStorage.getItem("contact")).then(function(messages){
$scope.messagesRecieved=messages;
})
console.log('le contact est '+localStorage.getItem("contact") +'Lutilisateur est '+localStorage.getItem("token"))
Message.getMessengerMessages(localStorage.getItem("contact"),localStorage.getItem("token")).then(function(messages){
$scope.messagesSent=messages;
for (var i=0; i<messages.length; i++) {
if(messages[i].read=='no'){
Message.modifyRead(messages[i]._id);
}
}
})
angular.extend($scope.messages, $scope.messagesRecieved, $scope.messagesSent);
Сообщение - это сервис.
API 'Message' является асинхронным. Перетащите данные в массив '$ scope.messages' из * внутри * каждого блока' .then'. – georgeawg
Возможный дубликат [Как вернуть ответ от асинхронного вызова?] (Http://stackoverflow.com/questions/14220321/how-do-return-the-response-from-an-asynchronous-call) – georgeawg