generated at
コールバック
使い方
chottomasi.js
asyncfileread('a.txt', function(fda) { asyncfileread('b.txt', function(fdb) { asyncfileread('c.txt', function(fdc) { asyncfileread('d.txt', function(fdd) { asyncfileread('e.txt', function(fde) { asyncfileread('f.txt', function(fdf) { // something process }) }) }) }) }) })
ループしたい場合は終了条件を自力で管理して再帰する
でもたしかに、引数の () の中に関数の {} を入れることによってインデントが深くなることはよくある
メソッドチェーン版who
method_chain.js
asyncfileread("a.txt") .then((fda) => { return asyncfileread("b.txt").then((b) => [fda, b]); }) .then(([fda, fdb]) => { return asyncfileread("c.txt").then((b) => [fda, fdb, b]); }) .then(([fda, fdb, fdc]) => { return asyncfileread("d.txt").then((b) => [fda, fdb, fdc, b]); }) .then(([fda, fdb, fdc, fdd]) => { return asyncfileread("e.txt").then((b) => [fda, fdb, fdc, fdd, b]); }) .then(([fda, fdb, fdc, fdd, fde]) => { return asyncfileread("f.txt").then((b) => [fda, fdb, fdc, fdd, fde, b]); }) .then(([fda, fdb, fdc, fdd, fde, fdf]) => { console.log(fda,fdb,fdc,fdd,fde,fdf) });
メソッドチェーンはデータハンドリングがむずい

コールバック関数の存在によって、既存のクラスやメソッドの挙動を簡単にカスタマイズできてとても良いMijinko_SD
もっとマシな書き方とかは考えればあるのかもしれないけれど
逆にコールバックが存在しない言語で同じことをしようとすると結構だるい
既存の処理の内部にちょっと動作を追加しようとしただけで新しいクラスに継承しなきゃいけないのはマジであほくさ
言語の思想によるのではbsahd
コールバックはイベントの受取に便利bsahd
え?処理完了を検知する方法がないから、処理開始から10ms待機して終了時の処理を実行してるんですか…?
onCloseとか無いんですねかわいそうに
sleepで10msごとに処理状態を確認するとかbsahd
見るたびにコールダックが頭を過ぎるcak