Ich habe ähnliche Fragen mit verschiedenen Vorschlägen gefunden, aber ich kann es nicht zum Funktionieren bringen. Einige sagen, Sie können es nicht tun und andere geben eine sehr lange Lösung, um es zum Laufen zu bringen. Es wird zurückgegeben und nicht definiert.Wie verwende ich Q-Versprechen mit Unterstreichungsfilter
Dienst
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;
}
Service Call
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())
})
})
Was genau versuchen Sie zu tun? 'filterSubdivisions' gibt ein Versprechen zurück, aber Sie fügen niemals einen' .then'-Callback an ihn an. Und du versprichst * dieses Versprechen sofort, also wieso hat man überhaupt erst ein Defered gegeben? Kannst du erklären, was du versuchst und was nicht so funktioniert, wie du es erwartest? –
Ich habe gerade den Code aktualisiert. Und ich kann nicht glauben, dass ich das getan habe! steckte es in eine Antwort – texas697
Also, das Problem war nie ein ".then" an die Zusage von 'filterSubdivisions' zurückgegeben? –