0

我正在尝试编写 chrome 扩展并具有以下代码:

chrome.runtime.onMessage.addListener((req, sender, sendRes) => {
        function cancel_error() {
            sendRes({error:true});
            return;
        };

        if (!req || !req.type)
            cancel_error();
        cancel_error();
        console.log("continued");
        sendRes({testRespone: true});
    });

在此片段中,侦听器仍继续记录并发送测试响应。有没有办法停止函数,比如在执行嵌套函数时调用 return?

4

2 回答 2

0

return;调用函数后添加:

chrome.runtime.onMessage.addListener((req, sender, sendRes) => {
  function cancel_error() {
    sendRes({error:true});
  };
  if (!req || !req.type) {
    cancel_error();
    return;
  }
  console.log("continued");
  sendRes({testRespone: true});
});
于 2021-04-29T17:39:23.677 回答
0

调用函数后添加 return 将起作用

if (!req || !req.type) {
    cancel_error();
    return;
  }

或者如果你想在你的函数中执行逻辑,我只会返回一个值,然后检查该值是什么,并做出相应的响应。

于 2021-04-29T17:39:57.083 回答