Ich bin gerade etwas verwirrt. Ich habe den folgenden asynchronen Ajax-Anruf, bei dem ich einen erfolgreichen Rückruf übergebe.
ajax('PUT', 'some URL', successCallback, data);
Ich beobachte, dass dieser Rückruf aufgerufen wird, wenn die Anforderung abgeschlossen ist, so verstehe ich nicht, zu verstehen, wie dieser Aufruf asynchron ist, wenn er wartet auf den Anruf zu beenden.
Wenn ich nicht passieren die successcallback den Rückruf von der Funktion Ajax und kehre ich asynchrones Verhalten beobachten können, wie
ajax('PUT', 'some URL', undefined, data);
return successcallback();
Mit über Änderung erwartete ich die Ajax-Aufruf tatsächlich beobachten asynchron und meine Seite kann die Ausführung gehen Wenn die Seite jedoch auf einen anderen Link umleitet, wird die Anfrage abgebrochen. Die einzige Option, die funktioniert, ist die Übergabe von succesCallback für AJAX, aber es scheint eher synchrone als asynchrone
Weil der Code nach dem Ajax-Aufruf ausgeführt wird .... Was Sie beschreiben, ist synchron. – epascarello
Ich glaube, du verstehst falsch, was asynchron ist. 'successCallback' wird aufgerufen, wenn die Anfrage abgeschlossen ist, * aber *, Sie haben keine Versprechen, wann die Anfrage abgeschlossen wird. Darüber hinaus wird der Rest Ihres Codes weiterhin ausgeführt und nicht blockiert, wenn Sie darauf warten, dass 'successCallback' ausgeführt wird. –