Gunnar Bittersmann: asynchrones JavaScript

Beitrag lesen

@@dedlfix

Du kannst jedoch die zwei fetch() mit then() in ein requests.map() stecken, dann sparst du dir den doppelten Code und hast den zeitlichen Vorteil.

Wo finde ich was dazu?

Mehrere Vorschläge dazu fand ich bei stackoverflow, gesucht nach javascript fetch promise.all.

Konkret meinte ich diesen Vorschlag von dort:

Promise.all(urls.map(url =>
    fetch(url).then(resp => resp.text())
)).then(texts => {})

Der macht das mit URLs statt Requests, aber das ist ja das gleiche Prinzip.

Meintest du das so?

var aRequest = new Request('a.json');
var bRequest = new Request('b.json');

Promise.all(
	[aRequest, bRequest].map(
		request => fetch(request).then(response => response.json())
	)
).then(values => {
	var aData = values[0];
	var bData = values[1];

	// do something with aData and bData
});

Ja, das läuft. Irgendwie kann ich mich mit den Pfeilen => noch nicht anfreunden.

LLAP 🖖

--
“When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory