読者です 読者をやめる 読者になる 読者になる

Promise チートシート

const promise = new Promise((resolve, reject) => {
  resolve(42);
});

promise.then((v) => {
  console.log(v); // 42
}).catch((e) => {
  console.log(e);
});

エラー処理

const promise = new Promise((resolve, reject) => {
  reject(new Error('エラーだよ'));
});

promise.then((v) => {
  console.log(v);
}).catch((e) => {
  console.log(e); // Error: エラーだよ
});

Promise.resolve

与えられた値で resolve する Promise オブジェクトを返す。

Promise.resolve(42).then((v) => {
  console.log(v); // 42
});

Promise.reject

与えられた値で reject する Promise オブジェクトを返す。

Promise.reject(new Error('エラーだよ')).catch((e) => {
  console.log(e); // Error: エラーだよ
});

Promise.all

全ての Promise が resolve したときに resolve する Promise オブジェクトを返す。

const a = Promise.resolve('a');
const b = Promise.resolve('b');

Promise.all([a, b]).then((results) => {
  console.log(results); // [ 'a', 'b' ]
});

Promise.race

いずれかの Promise が完了した場合に完了する Promise オブジェクトを返す。

const a = Promise.resolve('a');
const b = Promise.resolve('b');

Promise.race([a, b]).then((result) => {
  console.log(result); // a
});