【发布时间】:2020-02-12 15:27:38
【问题描述】:
function setmclisten(message, sender, sendResponse) {
console.log(data);
if(message['type'] === 'startUp')
{
console.log(data);
sendResponse(data)
}
}
function QuarryToServer(){
chrome.runtime.onMessage.removeListener(setmclisten);
$.ajax({
type: "GET",
async: true,
form: 'formatted',
url: SERVERURL,
success: function (data) {
//sends a get
console.log("set startup listener");
debugger;
chrome.runtime.onMessage.addListener(setmclisten);
},
fail: function () { console.error("error quarrying server"); }
});
}
我遇到的问题是我需要命名函数,以便稍后删除侦听器,但是当我将其设为命名函数时,我无法访问数据变量,并且如果我尝试像 addListen(func(args) 一样传递它) 它只会调用函数而不是将其作为变量传递有没有办法传递变量,同时仍然在全局范围内定义函数 澄清一下:所以有 setmclisten,我需要它是一个命名函数,同时传递数据参数并接收 onmessge 侦听器参数,如它自己的消息
【问题讨论】:
-
"...当我将其设为命名函数时,我无法访问数据变量..." 为什么不呢?你说的是什么功能?
-
所以有 setmclisten,我需要它是一个命名函数,同时传递数据参数并接收 onmessge 侦听器参数,如它自己的消息
标签: javascript ajax callback