javascript / intermediate
Snippet
Timeouts erzwingen mit AbortSignal.timeout
Moderne Node.js-Versionen bieten eine Kurzschreibweise für zeitbasierte Abort-Signale. Dies verhindert, dass asynchrone Operationen unendlich lange hängen und Ressourcen verbrauchen.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
12
async function fetchData(url) {try {// Automatically aborts after 5000msconst signal = AbortSignal.timeout(5000);const response = await fetch(url, { signal });return await response.json();} catch (err) {if (err.name === 'AbortError') {console.error('Request timed out');}}}
nodejs
Erklärung
1
AbortSignal.timeout(5000)
Erstellt ein Signal, das nach 5 Sekunden automatisch ein Abort-Ereignis auslöst.
2
fetch(url, { signal })
Übergibt das Signal an die Fetch-API, um den Lebenszyklus der Anfrage an den Timeout zu binden.