Javascript 基于停止信号的停止函数执行
我想知道当我收到信号时,是否有一种方法可以在函数执行时立即停止(退出)函数 目前,该信号通过Javascript 基于停止信号的停止函数执行,javascript,asynchronous,electron,Javascript,Asynchronous,Electron,我想知道当我收到信号时,是否有一种方法可以在函数执行时立即停止(退出)函数 目前,该信号通过ipcMain发送,其中ipcMain正在侦听所述停止信号,尽管我不确定在收到信号时如何或是否可能停止函数的执行 例如: starttthis()被调用,IPC渲染器开始侦听,调用run() startThis() { ipcRenderer.on(`stopTask-${taskId}`, (event, msg) => { console.log("STOP SI
ipcMain
发送,其中ipcMain
正在侦听所述停止信号,尽管我不确定在收到信号时如何或是否可能停止函数的执行
例如:
starttthis()
被调用,IPC渲染器开始侦听,调用run()
startThis() {
ipcRenderer.on(`stopTask-${taskId}`, (event, msg) => {
console.log("STOP SIGNAL")
helpers.sendTaskUpdate(taskId, msg);
return; // Supposed to halt execution of "run()"
})
run() // more functions is called in here too.
}
是否需要将侦听器放在run()
中?非常感谢您的帮助,谢谢
run()
是一系列顺序(异步)请求 您可以让run
函数检查在接收到STOP
时设置的标志。如果看不到run
是什么样子,很难说清楚run
是一系列连续的异步请求,例如,当一个请求完成时,一个承诺得到满足,然后调用另一个函数,依此类推。检查每个请求开头的标志,如果标志是由停止信号设置的,则不要继续执行,这可能是一种选择——我想知道是否有一种不那么乏味的方式,我认为这一点也不乏味,这是我能想到的最直接的方式,需要的行数很少(但如果不看更多的代码,很难给出准确的答案)您可以让run
函数检查在接收到STOP
时设置的标志。如果看不到run
是什么样子,很难说清楚run
是一系列连续的异步请求,例如,当一个请求完成时,一个承诺得到满足,然后调用另一个函数,依此类推。检查每个请求开头的标志,如果标志是由停止信号设置的,则不要继续执行,这可能是一种选择——我想知道是否有一种不那么乏味的方式,我认为这一点也不乏味,这是我能想到的最直接的方式,需要的行数很少(但如果不看更多的代码,很难给出准确的答案)