gpt4 book ai didi

javascript - 为什么这总是返回 "undefined"

转载 作者:行者123 更新时间:2023-11-29 18:30:11 25 4
gpt4 key购买 nike

下面的代码总是返回“undefined”

function sendCommand(cmdJson){
chrome.extension.sendRequest(cmdJson, function(response){
return response;
});
}

我也尝试过这种变体,结果相同

function sendCommand(cmdJson){
var msg;
chrome.extension.sendRequest(cmdJson, function(response){
msg = response;
});
return msg;
}

如果我执行 alert(response); 而不是 return response; 我会得到预期的值。

最佳答案

我猜测 chrome.extension.sendRequest 是异步的,在这种情况下 sendCommand 不会返回任何内容。响应处理程序 inside sendCommand 是返回内容的处理程序,但这与返回内容的 sendCommand 不同。因此,当您调用 sendCommand 时,它会返回 undefined

基本上,sendCommand 调用 chrome.extension.sendRequest 函数,然后立即返回 undefined,而 chrome. extension.sendRequest 函数仍在运行。

没有真正的方法可以使某些异步行为同步行为 - 最好重构您的代码。

关于javascript - 为什么这总是返回 "undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9254408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com