JavaScript
Wat zijn callbacks, promises en async/await?
Dit zijn 3 manieren om asynchrone code te hanteren. Modern: async/await.
Callbacks (oud)
Functie als parameter. Probleem: callback hell met nested callbacks.
Promises (beter)
new Promise((resolve, reject) => {...}) Chain met .then().catch() Testen of rejected: .finally()
Async/Await (best)
async function maakt functie promise-based await wacht op promise resolution Try/catch voor error handling
Code Voorbeelden
JAVASCRIPTCallbacks vs Promises vs Async
// Callbacks (Vermijd!)
function fetchData(callback) {
setTimeout(() => {
callback(null, "Data");
}, 1000);
}
fetchData((err, data) => {
console.log(data);
});
// Promises (Beter)
function fetchData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve("Data");
}, 1000);
});
}
fetchData()
.then(data => console.log(data))
.catch(err => console.error(err))
.finally(() => console.log("Done"));
// Async/Await (Best!)
async function getData() {
try {
const data = await fetchData();
console.log(data);
} catch (err) {
console.error(err);
} finally {
console.log("Done");
}
}
getData();Relevante trefwoorden
asyncawaitpromisecallback