Sowohl Versprechungen als auch AJAX-Aufrufe sind asynchrone Vorgänge. Eine GET/POST-Anfrage könnte mit beiden gemacht werden. < Bearbeiten: das ist eine falsche AnweisungWas ist der Unterschied zwischen Promise und AJAX?
Also, was ist der Unterschied zwischen ihnen? Und wann wäre es besser, einen statt den anderen zu benutzen?
Auch eine weitere Sache:
Vor kurzem stieß ich auf ein Versprechen, das in seinem Körper eine AJAX hatte. Warum sollte eine asynchrone Operation in eine asynchrone Operation eingefügt werden? Das ist, als würde man ein Brotbrot in ein Brot-Sandwich legen.
EDIT: Ich entschuldige mich nicht früher ein Beispiel bereitstellt:
function threadsGet() {
return new Promise((resolve, reject) => {
$.getJSON('api/threads')
.done(resolve)
.fail(reject);
})
}
jQuery hier verwendet wird. Und der AJAX-Aufruf hat Promise-Verhalten und -Eigenschaften. Ich habe das vorher nicht verstanden, aber hier sind meine Gedanken: Wir können etwas in der Verheißung tun. Verwenden Sie dann den AJAX-Aufruf und übergeben Sie in der done
-Funktion die aufgelöste Promise-Logik. Speziell in diesem Beispiel gibt es keine.
Jetzt sehe ich, dass ich beide verwirrt hatte. Sie sind so ziemlich 2 verschiedene Dinge. Nur weil sie asynchron sind, heißt das nicht, dass sie austauschbar sind.
==============
EDIT 2: Nur einige Materialien, die ich gefunden nützlich:
Können Sie bitte klären was meinst du, wenn du sagst, dass du GET/POST-Anfragen mit einem _promise_ machen kannst? –
Ein Versprechen an sich hat keinen Mechanismus, um GET/POST-Anfragen zu stellen. Vielleicht lesen Sie die [Promises Dokumentation] (http://stackoverflow.com/documentation/javascript/231/promises/846/introduction#t=201609281521002304613)? –
Ein Promise ist eine * Schnittstelle * für asynchrone Operationen. Eine Ajax-Anfrage ist eine sehr spezifische asynchrone Operation. – Bergi