Global Feed Post Login
Replying to Avatar こて

js の Promise で1つのリレーに対して connect と get_eose の2つの非同期処理があるとして、多数のリレーに対してそれらを同時に開始したいんだけど

for(relay of list){

await relay.connect();

await relay.get_eose();

}

をどうやればいいでしょうか

connect がなくて get_eose だけだったら

for(relay of list){

results.push(relay.get_eose());

}

await Promise.all(results);

でいけそうなのは分かったのですが。connect と get_eose と2つ以上の await がある場合が分かりません...

Avatar
moochannelとかムゥとか呼ばれるKatsuhisa Ueda 2y ago

await Promise.all(list.map((relay) => {

await relay.connect()

await relay.get_eose()

})

とかいかがでしょうか

(スマホでコード書くの難しい)

Reply to this note

Please Login to reply.

Discussion

Avatar
moochannelとかムゥとか呼ばれるKatsuhisa Ueda 2y ago

await Promise.all(list.map(async (relay) => {

await relay.connect()

await relay.get_eose()

})

mapの直後にasyncがいるかも?

あー、検証できないからやはり寝よう

Thread collapsed