実行順序に着目したasync/awaitの実行の可視化
/emoji/pdf.iconhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_uri&item_id=186612&file_id=1&file_no=1
論文情報
情報学広場:情報処理学会電子図書館
著者
冨永 江奈
荒堀 喜貴
権藤 克彦
論文抄録
JavaScript ではネットワーク通信やノンブロッキング I / O などの非同期処理において,終了後の処理をコールバック関数によって定義する.しかし,連続した非同期処理をコールバック関数を用いて記述すると,複数のコールバック関数が入れ子になり,ネストが深く可読性や保守性の低いコードになる.このような状態をコールバック地獄と呼ぶ.コールバック地獄を解決するため,JavaScript には Promise や async / await といった非同期処理の記述を容易にする機構が実装されてきた.async / await を用いると,コールバック地獄に陥ったコードを,ネストが浅く簡潔なコードに書き換えることが可能である.一方,その動作の複雑さ故に,書き換え後のコードの実行順序を正しく理解するのは容易ではない.本研究では async / await の問題点が実行順序の理解の難しさにあることを明らかにし,トレーサを利用して実行の様子を可視化するツールを作成した.その結果,Promise や async / await の動作の表示によって複雑な実行順序の理解を促すサポート機構が実装可能であることを示した.
#Promiseの実行順序
#2021-09-26 18:49:57