2016-06-30 5 views
0

私はここにこのコードを試してみましたgoogle.chrome.storage未定義出力

var local; 
chrome.storage.local.get(function(data) { 
    local = data; 
    console.log(local); 
}); 
console.log('>'); 
console.log(local); 
console.log('<'); 

にchrome.storage

からこの奇妙な出力を得た。ここ

(dataStringは、データの値である)出力です
> 
undefined 
< 
dataString 

dataStringは>未定義<の権利の前に印刷する必要がありますか?または多分私はそれがchrome storage docsに言うように

+4

[なぜ私の変数は関数の中で変更した後に変更されませんか? - 非同期コードリファレンス](http://stackoverflow.com/questions/23667086/why-is-my-variable-unaltered-after-i-modify-it-inside-of-a-function-asynchron) –

+1

類似の質問があります何度も尋ねられました:)、上記のリンクを見てください。非同期の呼び出しについて –

答えて

2

だけで混乱しています、chrome.storageは非同期なので、chrome.storage.local.getからのコールバック関数は、後に実行し、その出力を得る理由です。

+0

すべてのことを説明しています...ありがとう! –