这种问题是很常见的,但我不能让我想要什么。 我的代码看起来是这样。 有些pubKeyProfiles
存储在chrome.storage,我希望我的功能getProfile
返回其中之一。
getProfile(keyPairId){
var profile = null;
chrome.storage.local.get({ pubKeyProfiles : [] }, function (result) {
var pubKeyProfiles = result.pubKeyProfiles;
for (var i = 0; i < pubKeyProfiles.length; ++i) {
if(pubKeyProfiles[i].pubKey.keyId === keyPairId){
profile = pubKeyProfiles[i];
}
}
});
console.log(profile);
}
看完后如何从一个异步回调函数的返回值? ,我尝试下面的代码:
getProfile(keyPairId){
var profile = null;
function foo(fn){
chrome.storage.local.get({ pubKeyProfiles : [] }, function (result) {
var pubKeyProfiles = result.pubKeyProfiles;
for (var i = 0; i < pubKeyProfiles.length; ++i) {
if(pubKeyProfiles[i].pubKey.keyId === keyPairId){
profile = pubKeyProfiles[i];
fn(profile);
}
}
});
}
foo(function(profile){
return profile;
});
console.log(profile);
}
但是,正如我处理异步函数,曲线仍然null
不管我试试。
我的问题是:如何才能让功能getProfile
收益profile
?