[[PromiseResult]]: undefined
ebody
- javascript
Hallo,
ich hatte hier gelesen:
Würde getData() so umgeschrieben, dass es als Rückgabewert ein Promise hätte, wäre die Nutzung davon einfach so:
createAudioFileAsync(audiosettings).then(successCallback, failureCallback);
Jetzt wollte ich mit einer eigenen Funktion ausprobieren, wie ich ein Promise() zurückgeben kann. Soweit scheint es zu funktionieren.
Die Ausgabe des Promise Objekts...
console.dir(result);
... zeigt aber:
Warum ist [[PromiseResult]]: undefined
?
Gruß ebody
Hi,
Die Ausgabe des Promise Objekts...
console.dir(result);
... zeigt aber:
Warum ist
[[PromiseResult]]: undefined
?
Vermutlich, weil irgendwas in dem Teil des Codes, den Du uns nicht zeigst (also in den versteckten 100%) nicht richtig ist.
Aber wie gesagt, das ist nur eine Vermutung.
cu,
Andreas a/k/a MudGuard
Hallo,
Vermutlich, weil irgendwas in dem Teil des Codes, den Du uns nicht zeigst (also in den versteckten 100%) nicht richtig ist.
Aber wie gesagt, das ist nur eine Vermutung.
Ich vermute, dass in dem codepen, den ebody per „problematische Seite“ versteckt hat, wenigstens ein paar Prozente Codeteile von ihm sind.
Aber das ist wiederum nur meine Vermutung
Gruß
Kalk
Hallo Tabellenkalk,
ah. Oh.
Der Codepen liefert aber Daten - dort wird auch der responseText an resolve übergeben. Hat ebody vielleicht kürzlich geändert.
Was dort aber fehlt: Abfrage auf einen erfolgreichen Request. Aus Sicht von XMLHttpRequest ist es nämlich absolut großartig, wenn der Server einen HTTP 500 Status zurückgibt. Das ist kein Error. Ein Error wäre nur, wenn er gar nicht antwortet.
Pro Tipp an eBody: Die Funktion "getData" ist in dieser Form bereits in JavaScript eingebaut. Sie heißt "fetch" 😉
Rolf
Hi,
Ich vermute, dass in dem codepen, den ebody per „problematische Seite“ versteckt hat, wenigstens ein paar Prozente Codeteile von ihm sind.
codepen ist für mich genausogut wie code gar nicht anzeigen.
Da wird auf einer schwarzen Fläche irgendwas rechts oben in sehr dunkelgrau angezeigt. Nicht lesbar. Und ich hab dort nix gefunden, wo man vom Too-Low-Contrast-Mode auf was Lesbares umschalten könnte …
Aber vielleicht ist der entsprechende Button ja auch nur Dunkelgrau auf Schwarz …
cu,
Andreas a/k/a MudGuard
Hallo MudGuard,
ja, das sind die DarkMode Fans mit den Gaming-Hochkontrastbildschirmen, auf denen man ohne DarkMode blind wird. Die haben jsFiddle ebenfalls verdorben. Und weil angeblich niemand den LightMode braucht, haben sie den Umschalter irgendwann entfernt. Aber dort komme ich etwas besser klar.
Codepen ist gruselig, die PHP Sandbox ist ebenfalls grausam geworden.
Rolf
Hallo ebody,
weder zeigt die MDN, wie die Promise-Version von createAudioFileAsync aussehen würde, noch zeigst Du, wie deine Funktion aussieht.
Wenn ein Promise festgelegt wird (egal ob erfüllt oder zurückgewiesen), bekommt es einen Wert.
Das geht über mehrere Stufen:
Wenn Du im [[PromiseResult]] ein undefined
vorfindest, dann wurde sehr wahrscheinlich resolve ohne Argument aufgerufen. So, wie es im MDN Artikel passiert (der zu wenig auf den Erzeugungsteil von Promises eingeht).
Rolf