02. Promise処理群のチェーン実行
Promise処理群の作成
const task1 = () => {
return new Promise((resolve, reject) => {
// ここに処理1の処理を書く
resolve("Task 1 is done.");
});
};
const task2 = (message) => {
return new Promise((resolve, reject) => {
// ここに処理2の処理を書く
resolve(message + " Task 2 is done.");
});
};
const task3 = (message) => {
return new Promise((resolve, reject) => {
// ここに処理3の処理を書く
resolve(message + " Task 3 is done.");
});
};
Promise処理群のチェーン実行(連結実行)
task1().then((result) => {
return task2(result);
}).then((result) => {
return task3(result);
}).then((result) => {
console.log(result + " Finished.");
});
then()の返却値はPromiseオブジェクトでなくともよい
task1().then((result) => {
return task2(result);
}).then((result) => {
return task3(result);
}).then((result) => {
return result + " Task A is done.";
}).then((result) => {
console.log(result + " Finished.");
});
- ここではreturn result + " Task A is done.";はPromiseオブジェクトではないが、then()はPromiseオブジェクトに変換して次のthen()につなげる
参考
https://ja.javascript.info/promise-chaining