簡體   English   中英

在 Express.js 中計算時如何發送多個響應?

[英]How to send multiple responses while computing in Express.js?

我試圖在計算時向客戶端發送多個響應。 這是我的例子:

app.get("/test", (req, res) => {
    console.log('test');
    
    setTimeout(() => {
        res.write('Yep');
        setTimeout(() => {
            res.write('Yep');
            setTimeout(() => {
                res.write('Yep');
                setTimeout(() => {
                    res.write('Yep');
                    setTimeout(() => {
                        res.write('Yep');
                        setTimeout(() => {
                            res.end();
                        }, 1000);
                    }, 1000);
                }, 1000);
            }, 1000);
        }, 1000);
    }, 1000);
    
    
});

我想在每一秒內得到響應。 但我的代碼有效,它在end()上發送響應。 有什么辦法嗎?

您不能對請求發送多個響應,這不是 HTTP 的工作方式。 您可以多次發送標頭(請參閱此答案),但只能發送一個響應正文。 如果您需要類似的功能,您可以使用 websockets 或在客戶端中構建邏輯以每 X 秒訪問一個端點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM