JS Promise - ruft sofort einige Daten von einer Funktion ab, die ein Promise @ zurückgib

Kann jemand ein Muster zum sofortigen Abrufen von Daten von einer Funktion empfehlen, die ein Versprechen zurückgibt?

Mein (vereinfachtes) Beispiel ist ein AJAX-Preloader:

loadPage("index.html").then(displayPage);

Wenn hier eine große Seite heruntergeladen wird, möchte ich überprüfen können, was gerade passiert, und den Vorgang möglicherweise zu einem späteren Zeitpunkt mit einem XHR-Abbruch () abbrechen.

Meine loadPage-Funktion, mit der (vor Promises) eine ID zurückgegeben wird, die ich später ausführen kann:

var loadPageId = loadPage("index.html",displayPage);
...
doSomething(loadPageId);
cancelLoadPage(loadPageId);

In meiner neuen Promise-basierten Version stelle ich mir vor, dass cancelLoadPage () das ursprüngliche loadPage () -Versprechen ablehnen würde.

Ich habe ein paar Optionen in Betracht gezogen, die mir alle nicht gefallen. Gibt es eine allgemein akzeptierte Methode, um dies zu erreichen?

Antworten auf die Frage(12)

Ihre Antwort auf die Frage