gpt4 book ai didi

javascript - Nodejs Expressjs app.get 间隔

转载 作者:太空宇宙 更新时间:2023-11-04 03:06:34 25 4
gpt4 key购买 nike

我需要多次调用 app.get() 才能不断更新页面。我有一个经常调用 app.get 的函数,我知道函数 writeToPage() 被调用 app.get() 只被调用一次。如何使用 app.get() 不断更新页面,或者是否有更好/替代的方法来实现我想要的。我需要这个的原因是内容变量发生变化,我需要更新页面。

function writeToPage(content, page) {
console.log('writeToPage Called');
app.get(`/${page}`, function (req, res) {
res.send(content);
console.log('content Sent');
});
}

最佳答案

app.get() 用于注册处理程序,当客户端发出匹配的 http 请求时,Express 将调用这些处理程序。这不是你反复称呼自己的东西。您无法以这种方式使浏览器页面自动更新。此外,您只能在原始页面请求上调用一次 res.send() 。调用一次后,页面已发送到浏览器,并且该 http 请求的工作已完成。

如果您希望浏览器页面自动更新,您有以下类型的选项:

  1. 您可以让浏览器页面经常自动重新加载。这可以使用 Javascript 或元刷新标签来完成。这将从您的服务器重新加载页面的新副本,如果值已更新,则会显示新值。

  2. 您可以在网页中使用重复的 ajax 调用来“轮询”您的服务器以查找更改的值,当该值更改时,页面中的 Javascript 可以更新当前页面中的该值以显示新值。

  3. 您可以使用 webSocket 或 socket.io 连接从页面到服务器,然后只要值更新,服务器就可以自动将新值推送到页面。页面中的 JavaScript 将接收这个新值并更新当前页面中的值以显示新值。

关于javascript - Nodejs Expressjs app.get 间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39199792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com