Я нашел похожие вопросы с различными предложениями, но я не могу заставить его работать. Некоторые говорят, что вы не можете этого сделать, а другие дают очень длинное решение, чтобы заставить его работать. Он возвращается и не определен.как использовать обещание Q с фильтром подчеркивания
Сервис
filterSubdivisions: (response) => {
var arry = [];
let deferred = Q.defer();
arry = _.filter(response, (item) => {
if (item.status === 'A') {
item.color = 80;
item.status = 'Active';
return item
} else {
item.color = 255;
item.status = 'Future';
return item
}
});
deferred.resolve(arry);
return deferred.promise;
}
обслуживания вызовов
AuthService.get().then((result) => {
SubdivisionService.getSubdivisions(result.userId, result.token)
.then((response) => {
if (response)
SubdivisionService.filterSubdivisions(response)
})
.then((res) => {
if (res)
SubdivisionService.loopSubdivisions(res)
})
.then((response) => {
if (response)
StorageService.set('Subdivisions', response)
})
.then(() => me.onGoHome())
.catch(error => {
AlertService.error('subdivisions')
.then((error) => ErrorService.post(error))
.then(() => me.onGoHome())
})
})
Что именно вы пытаетесь сделать? 'filterSubdivisions' возвращает обещание, но вы никогда не добавляете обратный вызов'. then'. Плюс, вы * решите *, что обещаете сразу, так почему же даже использовал отложенные там в первую очередь? Можете ли вы объяснить, что вы пытаетесь сделать и что не работает так, как вы ожидаете? –
Я только что обновил код. И я не могу поверить, что сделал это! положите его в ответ – texas697
Итак, проблема никогда не включала '.then' в обещание, возвращенное из' filterSubdivisions'? –