`undefined`从JS函数返回,但是函数适当地调用了console.logs()的值

时间:2017-10-28 21:54:49

标签: javascript google-chrome-extension

我使用此功能从chrome本地存储中获取数据:

function getStorageByKey(key) {
  chrome.storage.sync.get(key, function(obj) {
    var error = chrome.runtime.lastError;
       if (error) {
           console.error(error);
       }
  console.log('function log')
  console.log(obj)
  return obj
  });
}

我称之为:

var storage = getStorageByKey('hidden_threads')
console.log("function's return")
console.log(storage)

,日志输出为:

function's return
undefined
function log
{hidden_threads: Array(1)}

我想这意味着数据正在通过函数正确传递,但我不明白为什么console.log(storage)在函数完成执行之前发生。我认为这就是为什么它返回undefined,但不确定导致这种情况的机制。

0 个答案:

没有答案