gpt4 book ai didi

javascript - 如何让 javascript 捕获来自 Node 的信号并在之后立即提示一个窗口?

转载 作者:行者123 更新时间:2023-12-03 02:54:26 24 4
gpt4 key购买 nike

我想从 app.js 发出信号。 ejs 文件应该捕获它并提示一个窗口。问题是我必须刷新页面才能看到该窗口。而且如果我再次刷新它似乎总是会显示。

如何让app.js发出信号后立即弹出窗口提示?并且只显示一次?

在app.js中

socket.emit('example_signal')

在sample.ejs文件中

socket.on('example_signal', function(){
alert('hello world')
})

看来我找到了这个问题的原因。如果我写

io.sockets.emit('example_signal')

直接,那么信号将立即被捕获。如果我写成

 io.sockets.on('connection', function (socket) {
io.sockets.emit('example_signal')
})

它会以某种方式等待页面刷新...

希望可以帮助到遇到同样问题的人

最佳答案

io.sockets.on('connection', function (socket) {
io.sockets.emit('example_signal')
})

it will somehow wait for the page refresh...

因为这就是代码所说的:

当浏览器连接到套接字时,发出信号

…页面加载时浏览器将连接到套接字。

删除等待新连接的事件处理程序自然会导致 io.sockets.emit('example_signal') 行立即运行,而不是等待事件。

关于javascript - 如何让 javascript 捕获来自 Node 的信号并在之后立即提示一个窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47699963/

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