Promises: .then() reagiert anders als async await! :O – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 00:58:45 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805006#m1805006 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805006#m1805006 <p>Bin bei Promises gerade über eine interessante Eigenheit gestoßen...</p> <p>Hab mir Gedanken gemacht, was passiert, wenn bei einem fetch Call z.b. ein Netzwerkfehler oder ein Syntax Error (oder was auch immer) nicht zu einem "regulären" REJECT führt. Im Sinne von</p> <pre><code class="block language-javascript"><span class="token keyword">const</span> <span class="token function-variable function">einPromise</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span> <span class="token keyword">return</span> <span class="token keyword">new</span> <span class="token class-name">Promise</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token parameter">res<span class="token punctuation">,</span> rej</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span> <span class="token keyword">throw</span> <span class="token keyword">new</span> <span class="token class-name">Error</span><span class="token punctuation">(</span><span class="token string">"OHMAGEE, an error occurred!"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">;</span> </code></pre> <p>In einem try catch Block muss ich diesen Fall extra auffangen, da ich sonst einen uncaught Error produziere:</p> <pre><code class="block language-javascript"> <span class="token keyword">try</span> <span class="token punctuation">{</span> <span class="token function">einPromise</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">then</span><span class="token punctuation">(</span><span class="token parameter">res</span> <span class="token operator">=></span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>res<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">catch</span><span class="token punctuation">(</span><span class="token parameter">err</span> <span class="token operator">=></span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"AAAND THE ERROR IS: "</span><span class="token punctuation">,</span> err<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// catch for thrown error</span> <span class="token punctuation">}</span> <span class="token keyword">catch</span><span class="token punctuation">(</span>err<span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">// catch for regular reject (rej)</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"AAAND THE REJECT CATCH IS: "</span><span class="token punctuation">,</span> err<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> </code></pre> <p>Dies ist aber nicht der Fall, wenn ich mit async await arbeite:</p> <pre><code class="block language-javascript"><span class="token keyword">async</span> <span class="token keyword">function</span> <span class="token function">asyncAwaitApproach</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">try</span> <span class="token punctuation">{</span> <span class="token comment">// hier wird der Error an den catch Block weitergeleitet, ich produziere KEINEN uncaught error!</span> <span class="token keyword">const</span> res <span class="token operator">=</span> <span class="token keyword">await</span> <span class="token function">einPromise</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>res<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">catch</span><span class="token punctuation">(</span>err<span class="token punctuation">)</span> <span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"AAAND THE REJECT CATCH IS: "</span><span class="token punctuation">,</span> err<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token function">asyncAwaitApproach</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>Gibt's dazu irgendwelche Theorien?</p> <p>Wer sich nun denkt "Na und, was soll das?" --- sorry, finde das eben interessant </p> <p>AUSSERDEM... vielleicht ist das dem/r ein oder anderen auch noch nie aufgefallen </p> <p>Schönen Abend,</p> <p>Ferdinand.</p> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 09:03:32 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805010#m1805010 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805010#m1805010 <p>Hallo Ferdinand,</p> <p>meine Theorie ist: Du hast das alte Promise-Konzept, das vor der Einführung des async/await Zuckergusses bestand, nicht richtig verstanden.</p> <p>Bei "klassischen" Promises verwendest Du kein try/catch, oder höchstens deshalb, um Fehler beim Konstruieren des Promise-Netzes abzufangen. Die eigentliche Verarbeitung findet in den then- und catch-Callbacks der Promises statt, und denen entkommt keine Exception.</p> <p>Eine Exception in den Callbacks des Promise-Systems (Exekutoren, then- und catch-Callbacks) führen zu einem rejected Promise, und ein rejected Promise fängt man mit .catch() oder mit dem zweiten Parameter von .then ab. Eine JavaScript-Exception fliegt <strong>nie</strong>.</p> <p>Der async/await Syntaxzucker sieht zur Behandlung von rejected Promises keine eigene Syntax vor. Deswegen musst Du bei await ein try/catch Konstrukt nutzen, um einen reject zu behandeln.</p> <p>Also entweder so:</p> <pre><code class="block language-js"><span class="token function">promiseSomething</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">.</span><span class="token function">then</span><span class="token punctuation">(</span><span class="token parameter">result</span> <span class="token operator">=></span> <span class="token comment">/* use result */</span><span class="token punctuation">)</span> <span class="token punctuation">.</span><span class="token function">catch</span><span class="token punctuation">(</span><span class="token parameter">err</span> <span class="token operator">=></span> <span class="token punctuation">(</span>handle error <span class="token operator">*</span><span class="token operator">/</span><span class="token punctuation">)</span> </code></pre> <p>oder so</p> <pre><code class="block language-js"><span class="token function">promiseSomething</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">.</span><span class="token function">then</span><span class="token punctuation">(</span><span class="token parameter">result</span> <span class="token operator">=></span> <span class="token comment">/* use result */</span><span class="token punctuation">,</span> <span class="token parameter">err</span> <span class="token operator">=></span> <span class="token comment">/* handle error */</span><span class="token punctuation">)</span> </code></pre> <p>oder so</p> <pre><code class="block language-js"><span class="token keyword">try</span> <span class="token punctuation">{</span> <span class="token keyword">let</span> result <span class="token operator">=</span> <span class="token keyword">await</span> <span class="token function">promiseSomething</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">/* use result */</span> <span class="token punctuation">}</span> <span class="token keyword">catch</span> <span class="token punctuation">(</span>err<span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">/* handle error */</span> <span class="token punctuation">}</span> </code></pre> <p>Wobei diese drei Konstrukte nicht 100% gleichwertig sind. Nr. 1 und Nr. 3 laufen bei einer Exception im Promise-Generator UND bei einer Exception in der result-Verarbeitung in den catch. Die Nr. 2 behandelt nur einen Reject bzw. Error aus dem Executor.</p> <p>Eine Exception im catch würden alle 3 als uncaught error liefern.</p> <p>Ich bin längst nicht fertig mit dem Artikel, aber <a href="https://wiki.selfhtml.org/wiki/JavaScript/Objekte/Promise" rel="nofollow noopener noreferrer">hier</a> steht schon einiges darüber.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - obstruxi </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 09:53:05 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805011#m1805011 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805011#m1805011 <p>@@Rolf B</p> <blockquote> <p>Also entweder so … oder so … oder so</p> </blockquote> <p>Weder so noch so noch so. Nicht <code class="bad">err</code>, sondern <code class="good">error</code>.</p> <p lang="uk"> Живіть довго і процвітайте</p> <div class="signature">-- <br> <em>„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“</em><br> — @Grantscheam auf Twitter </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 10:40:03 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805013#m1805013 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805013#m1805013 <p>Hallo Gunnar,</p> <p>mein Minus. Für die Form der Mitteilung.</p> <p>Ja, die Variable kann man lesbarer benennen.<br> Macht das meine Codebeispiel <strong>falsch</strong>? Nein.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - obstruxi </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 11:11:46 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805014#m1805014 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805014#m1805014 <blockquote> <p>Weder so noch so noch so. Nicht <code class="bad">err</code>, sondern <code class="good">error</code>.</p> </blockquote> <p>M.E. unfassbar, <em>so</em> auf Rolfs ausführliche und wertschätzende Antwort zu reagieren. Wenn Du auf Deinem sonst so „geliebten e“ rumgeritten wärst: trotzdem im Tonfall vergriffen, wenn auch wenigstens inhaltlich irgendwie noch nachvollziehbar.</p> <p>Bei „err“ vs „error“ bin ich persönlich aber raus.</p> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 11:12:22 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805015#m1805015 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805015#m1805015 <p>@@Rolf B</p> <blockquote> <p>mein Minus. Für die Form der Mitteilung.</p> </blockquote> <p>Das war klar, dass ein Hinweis auf leserlichen Code hier nicht so gut ankommt.</p> <blockquote> <p>Ja, die Variable kann man lesbarer benennen.<br> Macht das meine Codebeispiel <strong>falsch</strong>? Nein.</p> </blockquote> <p>Ich würde nicht-sprechende Variablen in jedem Code-Review ankreiden – ja, als falsch. Code wird nicht nur für Maschinen geschrieben.</p> <p lang="uk"> Живіть довго і процвітайте</p> <div class="signature">-- <br> <em>„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“</em><br> — @Grantscheam auf Twitter </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 12:10:33 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805018#m1805018 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805018#m1805018 <p>@@Rolf B</p> <blockquote> <p>mein Minus. Für die Form der Mitteilung.</p> </blockquote> <p>Und welche Wirkung hat das nun auf Außenstehende? Es erweckt den Eindruck, als sei mein Hinweis, sprechende Variablennamen zu verwenden, falsch gewesen.</p> <p>IMHO sollte die Bewertungsfunktion mit Bedacht eingesetzt werden; nicht, um persönliche Befindlichkeiten auszutauschen.</p> <p lang="uk"> Живіть довго і процвітайте</p> <div class="signature">-- <br> <em>„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“</em><br> — @Grantscheam auf Twitter </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 11:16:57 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805017#m1805017 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805017#m1805017 <p>@@Mitleser 2.0</p> <blockquote> <blockquote> <p>Weder so noch so noch so. Nicht <code class="bad">err</code>, sondern <code class="good">error</code>.</p> </blockquote> <p>M.E. unfassbar, <em>so</em> auf Rolfs ausführliche und wertschätzende Antwort zu reagieren. … im Tonfall vergriffen</p> </blockquote> <p>„Weder … noch … Nicht so, sondern so.“ Wo genau ist das „im Tonfall vergriffen“?</p> <p>Das war eine rhetorische Frage; die will ich gar nicht beantwortet haben, denn …</p> <blockquote> <p>Bei „err“ vs „error“ bin ich persönlich aber raus.</p> </blockquote> <p>… bei deiner Art von <em lang="en">political correctness</em> bin ich raus.</p> <p lang="uk"> Живіть довго і процвітайте</p> <div class="signature">-- <br> <em>„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“</em><br> — @Grantscheam auf Twitter </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 11:13:58 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805016#m1805016 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805016#m1805016 <blockquote> <blockquote> <p>mein Minus. Für die Form der Mitteilung.</p> </blockquote> <p>Das war klar, dass ein Hinweis auf leserlichen Code hier nicht so gut ankommt.</p> </blockquote> <p>Nochmals Zitat, auch wenn schon zitiert: „Für die Form der Mitteilung“. Einself!11 und so.</p> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 12:37:27 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805022#m1805022 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805022#m1805022 <blockquote> <p>Ich würde nicht-sprechende Variablen in jedem Code-Review ankreiden – ja, als falsch. Code wird nicht nur für Maschinen geschrieben.</p> </blockquote> <p>Ich finde <code>err</code> sehr sprechend. Welche Nicht-Maschine würde das nicht als <code>error</code> verstehen?</p> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 12:23:20 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805019#m1805019 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805019#m1805019 <blockquote> <p>Und welche Wirkung hat das nun auf Außenstehende? Es erweckt den Eindruck, als sei mein Hinweis, sprechende Variablennamen zu verwenden, falsch gewesen.</p> </blockquote> <p>Ich kann dazu nur beitragen, welchen Eindruck es für mich Außenstehenden hatte: völlig berechtigte Kritik an einem Post, der aus nichts weiter bestand, als aus weit hergerholtem, nerdigem Rumgenöle.</p> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 14:24:23 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805041#m1805041 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805041#m1805041 <p>Hallo Gunnar,</p> <p>ich bin ganz froh, dass andere meine Verteidigung übernommen haben.</p> <p>Was zu sagen ist, ist eigentlich gesagt worden, ich könnte es nur nochmal nachkauen.</p> <p>Dem "nerdigen Genöle" widerspreche ich aber durchaus, der Hinweis auf error statt err war fachlich korrekt. Um das nochmal zu klarzustellen: das Minus gab es von mir, weil dein Weder-noch-noch davor den Eindruck erweckte, alle drei Varianten seien als solches unbrauchbar, und genau deswegen empfand ich das Posting als <em>fachlich nicht hilfreich.</em> Um die Deutungsambivalenz für das Minus zu beseitigen, habe ich ein Posting hinterhergeschickt.</p> <p>Auch hier nochmal: könnten wir die Diskussion damit bitte abhaken?</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - obstruxi </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 12:30:55 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805020#m1805020 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805020#m1805020 <p>@@Mitleser 2.0</p> <blockquote> <p>Ich kann dazu nur beitragen, welchen Eindruck es für mich Außenstehenden hatte: völlig berechtigte Kritik an einem Post, der aus nichts weiter bestand, als aus weit hergerholtem, nerdigem Rumgenöle.</p> </blockquote> <p>Das Gegenteil ist der Fall: <code class="bad">e</code> und <code class="bad">err</code> ist nerdig.</p> <p>Aber dein persönlicher Eindruck sei dir unbenommen.</p> <p lang="uk"> Живіть довго і процвітайте</p> <div class="signature">-- <br> <em>„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“</em><br> — @Grantscheam auf Twitter </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 12:32:29 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805021#m1805021 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805021#m1805021 <blockquote> <p>Das Gegenteil ist der Fall: <code class="bad">e</code> und <code class="bad">err</code> ist nerdig.</p> </blockquote> <p>Dein persönlicher Eindruck sei dir unbenommen.</p> <blockquote> <p>Aber dein persönlicher Eindruck sei dir unbenommen.</p> </blockquote> <p>Genau.</p> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 12:41:10 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805023#m1805023 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805023#m1805023 <blockquote> <blockquote> <p>Ich würde nicht-sprechende Variablen in jedem Code-Review ankreiden – ja, als falsch. Code wird nicht nur für Maschinen geschrieben.</p> </blockquote> <p>Ich finde <code>err</code> sehr sprechend. Welche Nicht-Maschine würde das nicht als <code>error</code> verstehen?</p> </blockquote> <p>Vielleicht wäre <a href="https://de.wikipedia.org/wiki/Sesamstra%C3%9Fe#Ernie_und_Bert" rel="nofollow noopener noreferrer">Ernie</a> ja irritiert.</p> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 12:42:56 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805024#m1805024 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805024#m1805024 <p>@@ottogal</p> <blockquote> <p>Ich finde <code>err</code> sehr sprechend. Welche Nicht-Maschine würde das nicht als <code>error</code> verstehen?</p> </blockquote> <p>Ich – jedenfalls nicht ohne kognitiven Aufwand. Warum sollte ich den leisten müssen?</p> <p>Welche Gründe sprächen denn dafür, <code class="good">error</code> zu <code class="bad">err</code> zu verstümmeln?</p> <p>Speicherplatz sparen. Die 1980er haben angerufen. Sie hätten dieses Argument gern zurück.</p> <p>Ansonsten fiele mir nur noch Faulheit ein. Aber kein Codeschreiberling sollte aus reiner Faulheit anderen Codelesern kognitiven Aufwand aufbürden.</p> <p lang="uk"> Живіть довго і процвітайте</p> <div class="signature">-- <br> <em>„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“</em><br> — @Grantscheam auf Twitter </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 12:51:15 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805025#m1805025 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805025#m1805025 <blockquote> <blockquote> <p>Ich finde <code>err</code> sehr sprechend. Welche Nicht-Maschine würde das nicht als <code>error</code> verstehen?</p> </blockquote> <p>Ich – jedenfalls nicht ohne kognitiven Aufwand. Warum sollte ich den leisten müssen?</p> </blockquote> <p>„to err“ ist ein gängiges Pattern für einen Fehler. Wenn Du also richtig, richtig machen möchtest, dann zieh den Faden doch noch weiter und bitte um eine Variable Namens „errorVariableFromCustomEventHandlerIforgotWhyIneedIt“ oder so.</p> <blockquote> <p>Welche Gründe sprächen denn dafür, <code class="good">error</code> zu <code class="bad">err</code> zu verstümmeln?</p> </blockquote> <p>Du hast unnötig die Diskussion vom Zaun gebrochen. Wenn Du „error“ lieber magst, dann nimm das doch. Ober wegen mir auch, weil euer Style-Guide das vorschreibt. Alles schön. Hier im konkreten Fall hingegen... Ach lassen wir das...</p> <blockquote> <p>Speicherplatz sparen. Die 1980er haben angerufen. Sie hätten dieses Argument gern zurück.</p> </blockquote> <p>Gähn.</p> <blockquote> <p>Ansonsten fiele mir nur noch Faulheit ein. Aber kein Codeschreiberling sollte aus reiner Faulheit anderen Codelesern kognitiven Aufwand aufbürden.</p> </blockquote> <p>Style-Guide? Ach, lassen wir das...</p> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 15:36:36 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805045#m1805045 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805045#m1805045 <p>Der kognitive Aufwand scheint mir im Beispielsfall jedenfalls gegen null zu gehen.</p> <p>Beim von dir gern geführtem CSSBattle ist schon mehr kognitiver Aufwand gefordert - da liegt es bestimmt nicht an Faulheit, wenn es zu Verstümmelungen kommt...</p> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 12:55:51 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805026#m1805026 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805026#m1805026 <p>@@Mitleser 2.0</p> <blockquote> <p>„to err“ ist ein gängiges Pattern für einen Fehler.</p> </blockquote> <p>Du gehst davon aus, dass jeder Nicht-Englisch-Muttersprachler auch das Verb zu dem gängigen Substantiv <em lang="en">error</em> kennt. Gewagt.</p> <blockquote> <p>Ach, lassen wir das...</p> </blockquote> <p>Wenigstens darin sind wir uns am Ende einig.</p> <p lang="uk"> Живіть довго і процвітайте</p> <div class="signature">-- <br> <em>„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“</em><br> — @Grantscheam auf Twitter </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 13:16:36 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805027#m1805027 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805027#m1805027 <blockquote> <p>Du gehst davon aus, dass jeder Nicht-Englisch-Muttersprachler auch das Verb zu dem gängigen Substantiv <em lang="en">error</em> kennt. Gewagt.</p> </blockquote> <p>Du gehst davon aus, dass es einem Entwickler kognitiven Aufwand kostet, um aus Rolfs "err" Dein "error" abzuleiten. Gewagt.</p> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 13:30:12 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805029#m1805029 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805029#m1805029 <p>@@Mitleser 2.0</p> <blockquote> <p>Du gehst davon aus, dass es einem Entwickler kognitiven Aufwand kostet, um aus Rolfs "err" Dein "error" abzuleiten. Gewagt.</p> </blockquote> <p>Nach ein paar Semestern Psychologie gehe ich dieses Wagnis ein, ja.</p> <p>Übrigens war es schon Ferndinands <code class="bad">err</code>.</p> <p>Ferndinands <code class="bad">res</code> hatte <a href="/users/6547" class="mention registered-user" rel="noopener noreferrer">@Rolf B</a> schon zu <code class="good">result</code> verbessert. Er war nur nicht konsequent.</p> <p lang="uk"> Живіть довго і процвітайте</p> <div class="signature">-- <br> <em>„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“</em><br> — @Grantscheam auf Twitter </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 13:40:05 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805030#m1805030 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805030#m1805030 <blockquote> <blockquote> <p>Du gehst davon aus, dass es einem Entwickler kognitiven Aufwand kostet, um aus Rolfs "err" Dein "error" abzuleiten. Gewagt.</p> </blockquote> <p>Nach ein paar Semestern Psychologie gehe ich dieses Wagnis ein, ja.</p> <p>Übrigens war es schon Ferndinands <code class="bad">err</code>.</p> </blockquote> <p>Wunderbar, Herr Beinahe-Psychologe. Wäre es dann womöglich sinnvoll gewesen, dem OP Ferdinand das Feedback „Gucke mal, der Rolf hat Recht, ich möchte nur anmerken, DASS...“ zu geben?</p> <p>Sonst hätte ein Außenstehender ja denken können, dass Deine, ähem "Korrektur" womöglich Rolfs inhaltlich astreine Ausführung in Misskredit stellt.</p> <p>Ich frage für einen Psychologen.</p> <blockquote> <p>Ferndinands <code class="bad">res</code> hatte <a href="/users/6547" class="mention registered-user" rel="noopener noreferrer">@Rolf B</a> schon zu <code class="good">result</code> verbessert. Er war nur nicht konsequent.</p> </blockquote> <p>Könnte es... womöglich... vielleicht... kognitiv anstrengender sein, aus "res" (resolution, restful api response, resurrection, result) etwas abzuleiten, als aus "err" (ernie und bert, erratisch)? Ich frage für einen Psychologen.</p> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 13:47:21 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805031#m1805031 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805031#m1805031 <p>@@Mitleser 2.0</p> <blockquote> <p>Wäre es dann womöglich sinnvoll gewesen, dem OP Ferdinand das Feedback „Gucke mal, der Rolf hat Recht, ich möchte nur anmerken, DASS...“ zu geben?</p> </blockquote> <p>Das ist der erste sinnvolle Gedanke, den ich von dir in diesem Thread entnehme. So wollte ich mein Posting verstanden wissen.</p> <p lang="uk"> Живіть довго і процвітайте</p> <div class="signature">-- <br> <em>„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“</em><br> — @Grantscheam auf Twitter </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 13:49:16 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805032#m1805032 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805032#m1805032 <blockquote> <blockquote> <p>Wäre es dann womöglich sinnvoll gewesen, dem OP Ferdinand das Feedback „Gucke mal, der Rolf hat Recht, ich möchte nur anmerken, DASS...“ zu geben?</p> </blockquote> <p>Das ist der erste sinnvolle Gedanke, den ich von dir in diesem Thread entnehme. So wollte ich mein Posting verstanden wissen.</p> </blockquote> <p>Dann kram doch mal Deine paar Semester Psychologie hervor und lies den Thread noch einmal von vorne.</p> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 13:57:32 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805034#m1805034 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805034#m1805034 <p>@@Mitleser 2.0</p> <blockquote> <blockquote> <blockquote> <p>Wäre es dann womöglich sinnvoll gewesen, dem OP Ferdinand das Feedback „Gucke mal, der Rolf hat Recht, ich möchte nur anmerken, DASS...“ zu geben?</p> </blockquote> <p>Das ist der erste sinnvolle Gedanke, den ich von dir in diesem Thread entnehme. So wollte ich mein Posting verstanden wissen.</p> </blockquote> <p>Dann kram doch mal Deine paar Semester Psychologie hervor und "les den Thread noch einmal von vorne".</p> </blockquote> <p>Ich folge mal deinem Rat und lande bei <a href="https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805011#m1805011" rel="noopener noreferrer">meinem Posting</a>, welches sich einzig auf <code class="bad">err</code> bezog und damit „ich möchte nur anmerken, DASS...“ erfüllt.</p> <p>„Gucke mal, der Rolf hat Recht“ hab ich nicht gesondert erwähnt, d.h. auch keineswegs in Abrede gestellt.</p> <p lang="uk"> Живіть довго і процвітайте</p> <div class="signature">-- <br> <em>„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“</em><br> — @Grantscheam auf Twitter </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 13:59:40 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805035#m1805035 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805035#m1805035 <blockquote> <blockquote> <p>Dann kram doch mal Deine paar Semester Psychologie hervor und "les den Thread noch einmal von vorne".</p> </blockquote> <p>Ich folge mal deinem Rat und lande bei <a href="https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805011#m1805011" rel="noopener noreferrer">meinem Posting</a>, welches sich einzig auf <code class="bad">err</code> bezog und damit „ich möchte nur anmerken, DASS...“ erfüllt.</p> <p>„Gucke mal, der Rolf hat Recht“ hab ich nicht gesondert erwähnt, d.h. auch keineswegs in Abrede gestellt.</p> </blockquote> <p>You didn't get the point. Vielleicht gut, dass Du das mit der Psychologie dann gelassen hast.</p> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 14:15:56 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805039#m1805039 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805039#m1805039 <p>Hallo Gunnar,</p> <p>meine Güte, da geht man mal ein paar Stündchen im Sonnenschein spazieren und das Forum explodiert…</p> <blockquote> <p>„Gucke mal, der Rolf hat Recht“ hab ich (...) keineswegs in Abrede gestellt</p> </blockquote> <p>Äh, ich habe allerdings</p> <blockquote> <p>Weder so noch so noch so.</p> </blockquote> <p>exakt so aufgefasst und bin deshalb vom + auf das - abgerutscht. Mit dem Hinweis auf den Ton, denn wenn Du es <strong>wagst</strong>, zu behaupten, dass <code>error</code> ein besserer Variablenname sei als das kleine und feine <code>err</code>, dann...</p> <p><strong>dann...</strong></p> <h3>dann...</h3><p>gebe ich Dir augenblicklich recht!!!</p> <p>Könnten wir damit diesen Seitenthread bitte ruhen lassen und bei Promises bleiben?</p> <p><em>Rolf</em></p> <p>PS: Ich ˋhasseˋ diese Tastatur…</p> <div class="signature">-- <br> sumpsi - posui - obstruxi </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 14:07:41 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805036#m1805036 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805036#m1805036 <p>@@Mitleser 2.0</p> <blockquote> <p>You didn't get the point. Vielleicht gut, dass Du das mit der Psychologie dann gelassen hast.</p> </blockquote> <p>Für dich „unfassbar“, wie ich auf Rolfs Posting geantwortet hatte. Aber selbst persönlich werden‽ An dir ist auch nicht gerade ein Psychotherapeut verlorengegangen.</p> <p lang="uk"> Живіть довго і процвітайте</p> <div class="signature">-- <br> <em>„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“</em><br> — @Grantscheam auf Twitter </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 14:09:49 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805037#m1805037 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805037#m1805037 <blockquote> <blockquote> <p>You didn't get the point. Vielleicht gut, dass Du das mit der Psychologie dann gelassen hast.</p> </blockquote> <p>Für dich „unfassbar“, wie ich auf Rolfs Posting geantwortet hatte. Aber selbst persönlich werden‽ An dir ist auch nicht gerade ein Psychotherapeut verlorengegangen.</p> </blockquote> <p>Das mag sein. Ich bin allerdings auch nicht mit diesem "potentiellem Know-How" hausieren gegangen, gelle? :-)</p> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 15:52:12 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805049#m1805049 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805049#m1805049 <p>@@Rolf B</p> <blockquote> <p>PS: Ich ˋhasseˋ diese Tastatur…</p> </blockquote> <p>Dagegen gibt’s was von <s>Ratio</s> Apple. </p> <p lang="uk"> Живіть довго і процвітайте</p> <div class="signature">-- <br> <em>„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“</em><br> — @Grantscheam auf Twitter </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 14:31:53 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805042#m1805042 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805042#m1805042 <p>Hallo Rolf,</p> <blockquote> <p>Um die Deutungsambivalenz für das Minus zu beseitigen, habe ich ein Posting hinterhergeschickt.</p> </blockquote> <p>das ist ja genau das, was Gunnar oft fordert: Bewerten, dann aber auch begründen.<br> Deswegen verstehe ich nicht, warum er so darauf rumreitet.</p> <blockquote> <p>Auch hier nochmal: könnten wir die Diskussion damit bitte abhaken?</p> </blockquote> <p>+1</p> <p>Einen schönen Tag noch<br>  Martin</p> <div class="signature">-- <br> "Malen nach Zahlen" sagten wir im Matheunterricht, wenn es bei der Kurvendiskussion hieß: Zeichnen Sie den Graphen der Funktion ... </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 15:49:16 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805047#m1805047 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805047#m1805047 <p>@@Rolf B</p> <blockquote> <p>ich bin ganz froh, dass andere meine Verteidigung übernommen haben.</p> </blockquote> <p>Du warst nie angeklagt.</p> <blockquote> <p>das Minus gab es von mir, weil dein Weder-noch-noch davor den Eindruck erweckte, alle drei Varianten seien als solches unbrauchbar</p> </blockquote> <p>Du hättest einen Punkt, wenn ich zwischen „Weder so noch so noch so“ und „Nicht <code class="bad">err</code>, sondern <code class="good">error</code>“ einen Absatzumbruch gesetzt hätte.</p> <p>Das habe ich aber nicht – eben um deutlich zu machen, dass sich „Weder so noch so noch so“ nicht auf alle deine drei Varianten bezieht, sondern auf das unmittelbar(!!!) nachfolgende „Nicht <code class="bad">err</code>, sondern <code class="good">error</code>“.</p> <p>Was hätte ich noch tun sollen? Den Satz nicht beenden, sondern ohne Punkt und Komma schreiben?</p> <p><a href="https://twitter.com/ARDalpha/status/946417961811828737" rel="nofollow noopener noreferrer">Typografie kann Leben retten.</a> Meins offenbar nicht.  ‍♂️</p> <p lang="uk"> Живіть довго і процвітайте</p> <div class="signature">-- <br> <em>„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“</em><br> — @Grantscheam auf Twitter </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 16:23:09 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805051#m1805051 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805051#m1805051 <p>@@ottogal</p> <blockquote> <p>Der kognitive Aufwand scheint mir im Beispielsfall jedenfalls gegen null zu gehen.</p> </blockquote> <p>Mit „scheint mir“ meinst du „scheint <em>bei</em> mir“?</p> <p>Das ist der Punkt: Man sollte an der Stelle nicht von sich auf andere schließen.</p> <blockquote> <p>Beim von dir gern geführtem CSSBattle ist schon mehr kognitiver Aufwand gefordert - da liegt es bestimmt nicht an Faulheit, wenn es zu Verstümmelungen kommt...</p> </blockquote> <p>Oh ja, ganz andere Hausnummer. Und ein Musterbeispiel von schlecht lesbarem Code. Ich verstehe meinen eigenen einen Tag alten Code manchmal kaum noch.</p> <p lang="uk"> Живіть довго і процвітайте</p> <div class="signature">-- <br> <em>„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“</em><br> — @Grantscheam auf Twitter </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 16:16:31 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805050#m1805050 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805050#m1805050 <p>Hallo Gunnar,</p> <blockquote> <p>Was hätte ich noch tun sollen? Den Satz nicht beenden, sondern...</p> </blockquote> <p>...weglassen. Sein Rundumschlag hat die unspezifische Verdammnis erzeugt und die Aussage wäre ohne ihn genauso machbar gewesen. Wie der Mitleser um 14:40 demonstriert hat, leider zusammen mit einem völlig unnötigen ad hominem.</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - obstruxi </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 16:26:58 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805053#m1805053 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805053#m1805053 <p>@@Rolf B</p> <blockquote> <blockquote> <p>Was hätte ich noch tun sollen? Den Satz nicht beenden, sondern...</p> </blockquote> <p>...weglassen. Sein Rundumschlag hat die unspezifische Verdammnis erzeugt und die Aussage wäre ohne ihn genauso machbar gewesen.</p> </blockquote> <p>Zu meiner Verteidigung möchte ich anführen, dass der Satz dazu diente anzuzeigen, dass das <code class="bad">err</code> in allen deinen drei Varianten enthalten war.  </p> <p lang="uk"> Живіть довго і процвітайте</p> <div class="signature">-- <br> <em>„Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“</em><br> — @Grantscheam auf Twitter </div> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 17:14:27 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805056#m1805056 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805056#m1805056 <blockquote> <blockquote> <p>Beim von dir gern geführtem CSSBattle ist schon mehr kognitiver Aufwand gefordert - da liegt es bestimmt nicht an Faulheit, wenn es zu Verstümmelungen kommt...</p> </blockquote> <p>Oh ja, ganz andere Hausnummer. Und ein Musterbeispiel von schlecht lesbarem Code. Ich verstehe meinen eigenen einen Tag alten Code manchmal kaum noch.</p> </blockquote> <p>Aha. Die Psychologie folgert:<br> Daher rührt dein großes Bedürfnis nach Lesbarkeit bei fremdem Code... !</p> Promises: .then() reagiert anders als async await! :O Tue, 27 Dec 22 19:01:34 Z https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805057#m1805057 https://forum.selfhtml.org/self/2022/dec/27/promises-then-reagiert-anders-als-async-await-o/1805057#m1805057 <p>Hallo,</p> <blockquote> <p>Aha. Die Psychologie folgert:<br> Daher rührt dein großes Bedürfnis nach Lesbarkeit bei fremdem Code... !</p> </blockquote> <p>Endlich mal eine Folgerung der Psychologie, die mir plausibel erscheint.</p> <p>Können wir bitte als Ergebnis dieses Threads festhalten, zukünftig bei Codebeispielen sämtliche Eventualitäten, Styleguides, Tippfeher und Sicherheitslücken zuberücksichtigen?</p> <p>Gruß<br> Kalk</p>