非同期処理をいい感じに使えるAPIパターン
reference
let promise = new Promise(function(resolve, reject){
let err = something();
if (err) {
reject(err); // errorのときはrejectを呼ぶ
return;
}
resolve(data); // 正常なときはresolveを呼ぶ
});
// thenに正常なときの動作を書く
// catchにエラーのときの動作を書く
promise
.then((data) => {
console.log('success');
}
.catch((err) => {
console.log('error');
});
メソッドチェーン
Promiseをつなぐことで非同期処理をつなげられる
promise
.then((data) => {
console.log('success');
return new Promise((resolve, reject) => {
resolve();
});
}
.then(() => {
// ...
})
.catch((err) => {
console.log('error');
});