我已经从内容脚本发送了请求,并成功从后台页面收到了响应。现在,我想在内容脚本中设置一个变量-基于响应。那就是我遇到麻烦的地方。应该足够简单...。我想我一定是语法错误。这是我的内容脚本中的内容:

chrome.extension.sendRequest({greeting: "hello"}, function(response) {
  console.log(response.farewell);
if (response.farewell == "goodbye") {
      wasPolite = "yes";
}
else if (response.farewell == "goaway") {
      wasPolite = "no";
    }
else {
wasPolite = "maybe";
}
});
alert(wasPolite);


控制台显示goaway作为响应,但wasPoite仍未定义。

最佳答案

如果您定义:

var wasPolite = '';


之前:

chrome.extension....


并且它仍然没有警告正确的值,然后我问chrome.extension.sendRequest()函数是否异步?如果是这样,您可能在请求有时间回调之前提醒wasPolite。 @Ruup可能在轨道上,表明wasPolite仅在sendRequest实际上完成后才具有其值,从而触发回调

08-25 15:14