如何使用 javascript 对多个 url 进行 longpoll?

How do longpoll multiple urls using javascript?

目标是让多个 longpoll 连接对多个 url 开放(如 example.com/user/1example.com/user/2 等),并在更新数据时对其进行处理,然后重新连接。这是我目前所拥有的一个简单示例:

async function longpoll(url) {
    http.get(url, (response) => {
        response.on('data', (data) => {
            // do something with data
        }
        response.on('end', () => {
            // cleanup
            longpoll(url)
        }
    }
}

我还有更多事情要做,但这是基本设置。这适用于单个 url,但如果我尝试添加更多,就像在循环中一样,它会关闭除一个以外的所有内容。有人可以指出我能够实现这一目标的方向吗?

function startLongPollingForMultipleUrls(urls) {
    urls.forEach(url => longpoll(url);
}

function longpoll(url) {
    http.get(url, (response) => {
        response.on('data', (data) => {
            // do something with data
        }
        response.on('end', () => {
            // cleanup
            // Use a timeout to wait 1 second between calls
            setTimeout(() => longpoll(url), 1000)
        }
    }
}

const myUrls = ['example.com/user/1', 'example.com/user/2']

startLongPollingForMultipleUrls(myUrls);