Javascriptで複数の関数を同期処理したくて、コールバックを使った簡単なテストをしています。
下記のテストは成功しました。
関数test1の値を元に関数test2で値を生成するというものです。
js
1 2 test1(test2); 3 4 5function test1(callback){ 6 var num1 = 10; 7 console.log("num1 = "+num1); 8 callback(num1); 9} 10 11function test2(num1,callback){ 12 var num2 = num1+10; 13 console.log("num2 = "+num2) 14 callback(num2) 15}
実行結果 num1 = 10 num2 = 20
次に
num1を元にnum2を生成したあと,num2を元にnum3を生成しようと考えたのですが実行に失敗してしまいます。
js
1 2 3 //ここで関数を実行。 4 test1(test2(test3)); 5 6 7 8function test1(callback){ 9 var num1 = 10; 10 console.log("num1 = "+num1); 11 callback(num1); 12} 13 14function test2(num1,callback){ 15 var num2 = num1+10; 16 console.log("num2 = "+num2) 17 callback(num2) 18} 19 20function test3(num2){ 21 var num3 = num2+10 22 console.log("num3 = "+num3) 23} 24
実行結果 num2 = function test3(num2){ var num3 = num2+10 console.log("num3 = "+num3) num1 = 10 TypeError: callback is not a function
関数を分けた状態で同期処理を実行したいです。
かれこれ3日ほどハマっており、ググってもなかなかでてきません。
どなたかご教示いただけると幸いです。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。