2017-02-17 17 views
-2

Google Chrome拡張機能を開発していて、私もlocalstorageを使用しています。私はlocalstorageから得た値を使用しようとしていますが、私が得ることのできるのはundefinedです。 localstorageから受信した値はどのように使用できますか?Chrome拡張機能localStorage

+1

トピックになる質問を編集してください:**完全な** [mcve]を含めると*問題が複製されます*。 * manifest.json *、背景/コンテンツ/ポップアップスクリプト/ HTMLの一部を含みます。 (「?取り組んこのコードではありませんなぜ** **」)のデバッグ助けを求める質問が含まれている必要があります問題の►the望ましい動作、►a特定の問題やエラー*と*それを再現するために必要な►the最短コード**を自体**。明確な問題文がない質問は、他の読者にとって有用ではありません。参照してください: "**どのように[mcve] **を作成するか"、[ここで私はどんな話題を聞くことができますか?](http://stackoverflow.com/help/on-topic)、[ask] – Makyen

+0

これはおそらく重複しています:[非同期呼び出しからの応答を返すにはどうすればいいですか?](// stackoverflow.com/q/14220321) – Makyen

+0

[既存の質問は同じ質問タイトル](http://stackoverflow.com/questions/33136870/chrome-extension-storage)解決策はあなたの質問のタイトルの単語の1つを間違って綴ってはいけません...それは明確にするか、より具体的にする。 – aug

答えて

0

こんにちは、歓迎!

chrome.storageを使用しているとすれば、得られる問題は、chrome.storageからの「取得」が非同期であるためです。 これを解決する方法はpromisesです。

以下の例のように:あなたはpromiseshereについての詳細を読むことができます

highlightColor.then(function (item) { 
    if(item.color) { 
     $(".jscolor").val(item.color); 
    } 
}); 

highlightColor = new Promise(function (resolve, reject) { 
    chrome.storage.local.get("color", function (item) { 
     resolve(item); 
    }); 
}); 

約束の準備ができたときに、あなたは次のようにその値を使用することができます。 promisesとlocalStoreを使用しているプロジェクトを確認する場合は、this repoを確認してください。

+1

最後に動作します!ありがとうございました:) – Dragon21

+0

@ Dragon21よろしくお願いします。ハッピーコーディング – rafaelcpalmeida

+2

これが質問の答えだと思った場合は、答える代わりに質問を重複して表示する必要があります。 – Makyen

関連する問題