nugawiki

./categories/front-end

JS Callback·Promise·async/await

업데이트 2026-07-21 조회수
CallbackPromiseasync/await
형태함수 인자then/catch 체인동기 스타일
에러err-first 콜백.catch()try/catch
단점콜백 지옥체인 길어지면 복잡

Callback

function getData(cb) {
  setTimeout(() => cb(null, "data"), 1000);
}
getData((err, data) => console.log(data));

Promise

function getData() {
  return new Promise((resolve, reject) => {
    setTimeout(() => resolve("data"), 1000);
  });
}
getData().then(console.log).catch(console.error);

async/await

async function run() {
  try {
    const data = await getData();
    console.log(data);
  } catch (e) {
    console.error(e);
  }
}

병렬

const [a, b] = await Promise.all([getA(), getB()]);

./comments