ES6形式のPromiseを使うときに頻出する3つのパターン。直列パターン、並列パターン、分岐パターンを説明します。 最近、Promise周りが盛り上がっていて、reduceを使ったほうが良いとか、ライブラリがどうとか・・・いう話を聞くのですが、そもそも「ベタに書いたときにどうするのが基本なのか」という情報が見つからないので書いてみました。 直列パターン 一番良く使うのは、複数の処理を直列につなげるパターンでしょう。#1が終わってから、#2、#2が終わってから#3というパターンです。 Promise.resolve() .then(function(){ return new Promise(function(fulfilled, rejected){ asyncFunc(function(){ fulfilled(); }); }) }) .then(function(){ return
![Promiseを複数組み合わせる時の基本パターン(直列、並列、分岐) - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/89c515407857985852fe531279a786c2586115d6/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UHJvbWlzZSVFMyU4MiU5MiVFOCVBNCU4NyVFNiU5NSVCMCVFNyVCNSU4NCVFMyU4MSVCRiVFNSU5MCU4OCVFMyU4MiU4RiVFMyU4MSU5QiVFMyU4MiU4QiVFNiU5OSU4MiVFMyU4MSVBRSVFNSU5RiVCQSVFNiU5QyVBQyVFMyU4MyU5MSVFMyU4MiVCRiVFMyU4MyVCQyVFMyU4MyVCMyVFRiVCQyU4OCVFNyU5QiVCNCVFNSU4OCU5NyVFMyU4MCU4MSVFNCVCOCVBNiVFNSU4OCU5NyVFMyU4MCU4MSVFNSU4OCU4NiVFNSVCMiU5MCVFRiVCQyU4OSZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9NTE5ZWFhMzYzMDQ2NDZiOGMzYWQwODQ4ZmE5ZTVlNzU%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBub3JhbWlfZHJlYW0mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTAzNTMxY2EwMjNhMjc1MDZlOWM5YzdlNzI0NmI0OGY4%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Dd5413446657a9c390804d77cf9c00454)