0
で働いていない待つ TEST1 が TEST2 TEST3 TEST4をFILTERED非同期は、私は、次のコードをしているのforEach
最後にする必要がありますFILTERED (明らかに)。
さまざまなオプションを試しましたが、ここで何かを理解していないようです。あなたは何が起こっているのか気づいていますか?
で働いていない待つ TEST1 が TEST2 TEST3 TEST4をFILTERED非同期は、私は、次のコードをしているのforEach
最後にする必要がありますFILTERED (明らかに)。
さまざまなオプションを試しましたが、ここで何かを理解していないようです。あなたは何が起こっているのか気づいていますか?
これは正しい動作です。async/await
は、使用されている機能にのみ影響します。だから、for
オペレータに、各要素のためのコールバックを呼び出しforEach
を交換する必要があります。
async function goodUsers(users) {
const filteredUsers = [];
for(user in users) {
console.log('TEST1');
const fromUserContacts = await new Promise(resolve => setTimeout(() => resolve(['c1', 'c2']), 500));
console.log('TEST2');
fromUserContacts.forEach(fromUserContact => {
console.log('TEST3');
filteredUsers.push('json');
});
console.log('TEST4');
}
console.log('FILTERED', filteredUsers);
return filteredUsers;
}
goodUsers(['u1', 'u2']);
は、データベースの方法は、実際に約束を返していますか? – Paul
いいえ1つが動作します –
[async/inside for loopを使用する](https://stackoverflow.com/questions/45505517/using-async-await-inside-for-loop)の重複が考えられます。 –