У меня возникла небольшая проблема с сервисом Angular (1.4). Код примерно такой:
service.retrieveStuffFromServer = function() {
return httpCallFromServer().then(
function(data) {
if (Array.isArray(data)) {
return data;
}
return [];
}
);
};
Я вызываю эту функцию в двух разных контроллерах. В большинстве случаев он работает по назначению, но у меня возникают проблемы в этих условиях:
- Вызову HTTP требуется время для возврата данных
- Контроллер A вызывает службу.
- Контроллер B вызывает службу.
- Сервис возвращает данные контроллеру A
- Вызов в контроллере B отменяется. Логика после него никогда не выполняется
Моим первым предположением было бы немного изменить службу, чтобы сообщить любому из контроллеров, если служба уже занята, чтобы я мог повторить попытку позже, но я не уверен, что это лучшее решение, поэтому я ищу совет .
return
передhttpCall
, если это реальный код. - person jib   schedule 29.03.2016httpCallFromServer()
). Опять же, можете ли вы проверить, есть ли какие-либо ошибки/отказы? - person Bergi   schedule 29.03.2016