function fetchData(callback) {
setTimeout(function() {
callback('Data received');
}, 1000);
}
fetchData(function(data) {
console.log(data);
});
Pending: 아직 결과 값이 반환되지 않은 진행 중인 상태
fulfilled: 성공
rejected: 실패
settled: 결과 값이 성공 혹은 실패로 반환된 상태
⇒ settled된 값은 재실행 될 수 없다.
function fetchData() {
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve('Data received');
}, 1000);
});
}
fetchData()
.then(function(data) {
console.log(data);
})
.catch(function(error) {
console.error(error);
});
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => resolve('Promise 1'), 1000);
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(() => resolve('Promise 2'), 2000);
});
const promise3 = new Promise((resolve, reject) => {
setTimeout(() => resolve('Promise 3'), 3000);
});
Promise.all([promise1, promise2, promise3])
.then(results => {
console.log(results); // ['Promise 1', 'Promise 2', 'Promise 3']
})
.catch(error => {
console.error(error); // 첫 번째 실패한 프로미스의 에러
});
async function fetchData() {
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve('Data received');
}, 1000);
});
}
async function processData() {
try {
const data = await fetchData();
console.log(data);
} catch (error) {
console.error(error);
}
}
processData();