Rolf B: async \lf function() { ... } - WTF?

Beitrag lesen

Hallo alle,

so langsam beginne ich, Felix' Aversion gegen den Modulloader von Mediawiki zu verstehen.

In seiner veralteten Minifizierung baut er einen Linefeed an einer Stelle ein, bei der ich ganz vergessen hatte, dass das ein Problem ist. Historisch bedingt, ist async kein Schlüsselwort, und wird nur erkennt, wenn es auf der gleichen Zeile wie die Funktionsdefinition steht. Andernfalls denkt sich JavaScript eins seiner künstlichen Semikolons dazu 😟:

async function foo() {
   x = await bar();
}

aber

async
function foo() {
   x = await bar();
}

Error: SyntaxError: await is only valid in async functions...

Und deswegen ist er gestern abend ständig auf die Sch...tirn gefallen .

Heißt für Felix' schönes Frickl2: Verunstalten, dass es Promises mit .then()/.catch() verarbeitet statt mit async/await. Weil diese Tretmine sonst ständig hochgehen kann.

Sollten wir Mediawiki mal updaten, probieren wir es nochmal mit async 😠

Rolf

--
sumpsi - posui - obstruxi