CNode

麻烦大佬帮忙解答关于监听方面的问题,实在想不出

问答
Iiori2882发布于6 年前最后回复6 年前6 回复4201 浏览0 收藏

node.js调用on监听函数 预期目标:触发监听事件后,不继续执行后续代码.在监听里return后程序就停止执行 现在问题:因为是异步的,监听事件和后续代码是同时执行的,监听到事件,即便写了return返回后,后续代码还继续执行,进而调用了这个已经关闭的browser,所以导致抛出错误

新建 Microsoft Visio 绘图2.jpg

查看回复

回复 (6)

A
abiuDoIT#1·6 年前

如果是要停止整个程序的话,直接用 process.exit() 不行吗?

I
iori2882#2·6 年前
引用 abiuDoIT如果是要停止整个程序的话,直接用 process.exit() 不行吗?

@abiuDoIT 试了一下,好像不行啊!如果使用process.exit() ,整个服务就停止,只是想结束当次的请求,不能整个服务都停止了啊,那样一个人调用了监听事件,服务器停止了,其他人都用不了,还得去启动服务器!!还有别的办法么???太闹心了,就卡在这

A
abiuDoIT#3·6 年前
引用 iori2882@abiuDoIT 试了一下,好像不行啊!如果使用process.exit() ,整个服务就停止,只是想结束当次的请求,不能整个服务都停止了啊,那样一个人调用了监听事件,服务器停止了,其他人都...

@iori2882 只想退出当前函数的话,那就在后续代码里面加判断呗, 设个变量,监听事件里面 改一下这个变量的值, 后续代码判断这个变量.

L
linliny#4·6 年前

监听改轮询试试

I
iori2882#5·6 年前
引用 abiuDoIT@iori2882 只想退出当前函数的话,那就在后续代码里面加判断呗, 设个变量,监听事件里面 改一下这个变量的值, 后续代码判断这个变量.

@abiuDoIT 嗯 十分感谢,我试试.......好像监听里的代码和外面的代码是并行执行的,有可能监听里的变量没改变值,外面的判断变量值的代码就过去了

I
iori2882#6·6 年前

感谢回复,轮询没接触过,我去查查资料

参与回复
登录后即可参与回复。登录