tengo este codigo:
for await (const thing of signal()) { // logic } for await (const thing of anotherSignal()) { // logic } El problema es que estos for await s se ejecutan para siempre. Así que el segundo nunca se ejecuta. ¿Hay alguna manera de hacer que estos 2 bucles se ejecuten en paralelo?
No espere a que se complete la primera tarea, ejecútelas en paralelo, así:
let delay = ms => new Promise(ok => setTimeout(ok, ms)); async function* infinit_iter() { for (let i = 0;; i++) { await delay(3000) yield i } } async function run(name, iter) { for await (let i of iter) console.log(name, i) } run("signal:", infinit_iter()) run("anotherSignal:", infinit_iter())