ネイティブJSで非同期処理を順番に行う

投稿日: 更新日:

なんかややこしいのでメモ。

jQueryだとwhile().then(funciton(){...}).done(function(){...}) のような形で実装する事が出来ていたが、昨今は脱jQueryががトレンドのようなので、ネイティブJSで実装したい。

ググって先達のリソースを拝見して悩んだ結果、次のようなコードに行き着いた。

    const asyncTaskStart = new Promise((resolve) => { resolve() });
    asyncTaskStart
     .then(function () {
       [1番目の処理]
     })
     .then(function () {
       [2番目の処理]
     })
     ...
     .then(function () {
       [N番目の処理]
     })

JSのPromiseの機能を用いて実現している。細かい仕組みの説明は、後述の参考とした先達の記事を見てもらうとかしてほしい(__)

jQueryのwhile()もPromiseを利用したものかな?細かくは調べれていない。

参考

Promise&then()やasync&awaitを使って非同期の直列処理で順番に実行する | オウンドメディア | 大阪市天王寺区ホームページ制作|合同会社デザインサプライ-DesignSupply.LLC- (designsupply-web.com)

async await の使い方 #JavaScript - Qiita

なぜコールバック関数で非同期処理の順番を順々にできるの?|UnBlog (unreact.jp)

関連するタグ

Javascript, jquery, Promise, while