代码之家  ›  专栏  ›  技术社区  ›  metersk

异步js函数和日志记录出错

  •  0
  • metersk  · 技术社区  · 9 年前

    我有一个回调函数:

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

    我试着这样记录它的输出:

      getStorageByKey('hidden_threads', function (data) {
          console.log(data);
      });
    

    Error in response to storage.get: TypeError: callback is not a function
        at Object.callback (chrome-extension://nnaebcfbeghbbdkcgdicmlagdblheccm/content.js:37:3)
        at getStorageByKey (chrome-extension://nnaebcfbeghbbdkcgdicmlagdblheccm/content.js:32:23)
        at HTMLDocument.<anonymous> (chrome-extension://nnaebcfbeghbbdkcgdicmlagdblheccm/content.js:8:3)
        at j (chrome-extension://nnaebcfbeghbbdkcgdicmlagdblheccm/jquery.min.js:2:29999)
        at k (chrome-extension://nnaebcfbeghbbdkcgdicmlagdblheccm/jquery.min.js:2:30313)
    
    1 回复  |  直到 9 年前
        1
  •  1
  •   Vasan    9 年前

    function(obj, callback) -此函数由调用 chrome.storage.sync.get 一旦完成自己的处理。所以第二个 callback 参数将被传递 (如果有)和 回调

    因此,请删除 回调 参数,这将使其使用 回调 范围外的变量。