Was sind die möglichen Gründe für die then
's Rückruf eines Versprechens, nicht aufgerufen werden? Zum Beispiel:
function testPromise() {
console.log("this gets logged")
return $q(function(resolve, reject) {
console.log("this too")
resolve("test")
console.log("and this");
$rootScope.$apply()
console.log("and this too");
})
}
testPromise().then(function(result){
console.log("this never gets logged")
});
Bin ich nicht auf der Hand etwas zu sehen? Vielen Dank.
Ähnliche Fragen wurden ** viele ** mal zuvor gestellt, obwohl ich denke ** Ihr spezifisches Problem kommt von Aufruf $ $ rootScope. $ Apply() 'in der Rückkehr-Anweisung, anstatt davor, eine erfordern zusätzlicher Verdau. Versuchen Sie, $ $ rootScope. $ Digest() 'kurz vor' $ rootScope. $ Apply() 'hinzuzufügen. –
Ziemlich sicher "$ q" löst einen Scope-Digest bei resolve/reject ganz alleine aus. Sie müssen es nicht manuell hinzufügen – Phil
Ich stimme mit Phil überein, und tatsächlich hatte ich aus irgendeinem Grund Probleme mit $ apply() bei meinem Beispiel. – moplin