2017-06-15 8 views
0

私はコールバック関数を学習しようとしていましたが、数日を費やしましたが、ネストされたループでコールバックを使用する実例は見つかりませんでした。 ここでは、値のそれぞれに対してデータをプッシュする必要のあるサンプルコードをフィディルドで提供しています。しかし、空の配列を返しています。ループでコールバックを使用する方法ですか?

は、私は、データがループは空の配列が、私は、プロジェクト内の概念を使うことになる

を返されているsynch.Soでは動作しませんが、私は、その中にj回を大切にしたいですtimeoutはsqliteの挿入とselectで置き換えられます。これはループ内での使用方法を知るための例です。

var data = []; 
for(var i = 0;i<100;i++) { 
loop(i); 
} 
function loop(i) { 
for(var j =0;j<200;j++) { 
    p(i); 
} 
} 

function p(val) { 
setTimeout(function(){ 
    data.push(val); 
},10) 

} 
console.log(data); 

Here is the example of a working fiddle.

This question is similar to mineが、私は私の場合はそれを使用する方法を理解することはできませんよ。

データ変数に(iXj)値を持つ配列を取得したいだけです。 ありがとうございます。ここで

+0

ネストされていないループではどのように使用していますか?あなたがそれらについて知っていることを教えてください。 – Bergi

+0

あなたのフィドルがうまくいけば、何が問題なのですか? – Bergi

+0

私のフィドルは動作していますが、空の配列を返していますが、i、j回のすべての値の配列でなければなりません。 – Kobey24

答えて

1

var i = 0; 
 
var length = 10; 
 

 
function for1() { 
 
    console.log(i); 
 
    for2(); 
 
} 
 

 
function for2() { 
 
    if (i == length) { 
 
    return false; 
 
    } 
 
    setTimeout(function() { 
 
    i++; 
 
    for1(); 
 
    }, 500); 
 
} 
 
for1();
は、私がコールバックを理解するために多くの時間を費やす必要があったという用語はme.Thenに混乱したとして、私はこのアプローチを使用しようとした私が開発したサンプル・コードでありますそれが役に立てば幸い。

関連する問題