Free Online Code Editor
Handle asynchronous operations with Promises.
// Creating a Promise
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
const success = true;
if (success) {
resolve("Data loaded!");
} else {
reject("Error occurred");
}
}, 1000);
});
// Using .then() and .catch()
promise
.then(data => console.log(data))
.catch(error => console.error(error));
// Chaining promises
function fetchData() {
return new Promise(resolve => {
setTimeout(() => resolve("Step 1"), 500);
});
}
function processData(data) {
return new Promise(resolve => {
setTimeout(() => resolve(data + " -> Step 2"), 500);
});
}
fetchData()
.then(processData)
.then(result => console.log(result));
// Promise.all
const p1 = Promise.resolve(1);
const p2 = Promise.resolve(2);
const p3 = Promise.resolve(3);
Promise.all([p1, p2, p3])
.then(values => console.log(values));
// Promise.race
const fast = new Promise(resolve =>
setTimeout(() => resolve("Fast"), 100)
);
const slow = new Promise(resolve =>
setTimeout(() => resolve("Slow"), 500)
);
Promise.race([fast, slow])
.then(winner => console.log(winner));
// Promise.allSettled
Promise.allSettled([
Promise.resolve("Success"),
Promise.reject("Error"),
Promise.resolve("Another success")
]).then(results => console.log(results));Promises handle async operations. Use .then() for success, .catch() for errors. Promise.all() waits for all, Promise.race() returns first.