Haftungsausschluss: jQuery Versprechungen mit anderen Bibliotheken nicht schön spielen - bei
alle. jQuery wird andere Versprechungen Dritter nicht selbst übernehmen. Angular $ q Versprechen auf der anderen Seite - Willen, so, wann immer Sie die Wahl haben, assimilieren Sie das jQuery Versprechen in ein Angular Versprechen und nicht umgekehrt. (All dies ändert sich in jQuery 3.0, wenn Sie diesen Disclaimer sehen und 3.0 bereits veröffentlicht wurde - bitte hinterlassen Sie einen Kommentar).
ein jQuery Versprechen in ein Angular Versprechen Converting:
var angularPromise = $q.when(jQueryPromise); // eg: $q.when($.get(...));
ein jQuery Versprechen auf ein natives oder Drossel Versprechen Converting:
var promise = Promise.resolve(jQueryPromise); // eg: Promise.resolve($.get(..));
ein Versprechen Converting/A + Beschwerde Versprechen wie $ q Angular versprechen oder Bluebird Versprechen oder native Versprechungen in jQuery verspricht:
Auch erwähnenswert - Angular Versprechen verbrauchen können jQuery verspricht:
$http.get(...).then(function(id){
return $.get("http://..."+id); // will work, though pointless because $http.get
}).then(function(result){
// contains result of $.get call here
});
Warum? Haben Sie ein Beispiel? –
Zum Beispiel können Sie jede dritte Partei Versprechen in eine $ q/Q Versprechen mit $ q.when (ThirdPartyPromise) konvertieren. Aber sollte diese Bibliothek mein Versprechen haben. Ich möchte meinen Kunden nicht zwingen, Q oder eckig zu verwenden, damit er mein Versprechen wieder verwenden kann. Wenn ich es in das kompatible Versprechen umwandeln könnte, würde er weniger Schmerzen haben. – phani
Sie sollten die Verwendung einer minimalistischen Versprechen Bibliothek und nicht jQuery verspricht, jQuery Versprechen sind inhärent problematisch in der Fehlerbehandlung. –