JavaScript中的回调函数是如何工作的
我不熟悉javascript回调函数。我已经花了相当长的时间试图让这项工作,但一直达不到。我有以下功能。我只想调用registrationFlow()并使其进入if(found)条件,但getTrueFalse()总是返回false。正在将getTrueFalse()内的isRegistered设置为true(使用警报进行查看)。有人能帮我指出我的问题在哪里吗?非常感谢 函数getTrueFalse(){ var isRegistered=false; var registeredIds=['APA','BBB']; chrome.storage.local.get(“registeredId”,函数(结果){ id=结果[“registeredId”]; for(var i=0;iJavaScript中的回调函数是如何工作的,javascript,asynchronous,callback,Javascript,Asynchronous,Callback,我不熟悉javascript回调函数。我已经花了相当长的时间试图让这项工作,但一直达不到。我有以下功能。我只想调用registrationFlow()并使其进入if(found)条件,但getTrueFalse()总是返回false。正在将getTrueFalse()内的isRegistered设置为true(使用警报进行查看)。有人能帮我指出我的问题在哪里吗?非常感谢 函数getTrueFalse(){ var isRegistered=false; var registeredIds=['
isRegistered
中之前,函数返回。函数chrome.storage.local.get是异步的
您可以通过创建自己的回调函数来解决这个问题
函数getTrueFalse(回调){
//做事
回调(真|假);
});
getTrueFalse(函数(v){
console.log('返回值',v);
});函数在回调将值存储在
isRegistered
中之前返回。函数chrome.storage.local.get是异步的
您可以通过创建自己的回调函数来解决这个问题
函数getTrueFalse(回调){
//做事
回调(真|假);
});
getTrueFalse(函数(v){
console.log('返回值',v);
});代码>两个函数都在访问本地存储,我不知道为什么。您的注册流程应为:
function registrationFlow() {
var found = getTrueFalse();
if(found) {
//do something
}
else {
//do something else
}
}
这两个函数都在访问本地存储,我不知道为什么。您的注册流程应为:
function registrationFlow() {
var found = getTrueFalse();
if(found) {
//do something
}
else {
//do something else
}
}