Bertl: Async Await und .then()?

Beitrag lesen

Halli und o,

Ich hätte da eine Frage bezüglich Asynchronous Javascript...

async function warten() {
	await new Promise((resolve, reject) => {
		setTimeout(resolve, 1000);
	});
}

// ICH FUNKTIONIERE!
async function trigger() {
	await warten();
	console.log("GEWARTET!");
}

trigger();

Funktioniert problemlos, nach 1000ms wird das Promise resolved und in trigger() das console.log("GEWARTET!") ausgelöst.

Nicht so, wenn ich ein chaining mit .then vornehme, nach dem Schema

// …ICH ABER NICHT!
async function trigger() {
	await warten().then(console.log("WARUM WARTE ICH NICHT?"));
}

Warum wird HIER das console.log nun sofort ausgelöst?

[Habe auch schon mit async und await herumgespielt, ob ich die Keywörter jetzt entferne oder nicht, macht da keinen großen Unterschied]

Dank euch für Aufklärung,

LG, Bertl