前提・実現したいこと
DBから取得したデータを順番通りに出力したい。
該当のソースコード
Javascript
1$.each(users,function(index,val){ 2 (async()=>{ 3 console.log(index); //一つ目 4 dataExperience = database.ref('/experience/' + val.experience_id); 5 var p = await new Promise(resolve=>{ 6 setTimeout(()=>{resolve(dataExperience.once("value"))},0); 7 }) 8 .then(function(snapshot) { 9 console.log(index); //二つ目 10 }); 11 }); 12});
発生している問題
今回はデータベースから取得したデータを元に、別テーブルも参照してデータを取得したい。
データ自体は出力できるのだが、indexの値が非同期内の場合、逆になってしまう。
いくら非同期だといえ、逆になる原因が不明。
一つ目のコンソールログ
0 1 2 3 4 5
二つ目のコンソールログ
5 4 3 2 1 0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。