Last active
May 13, 2020 06:02
-
-
Save xryuseix/49a4f7fad7817e3532c8e596d9f99491 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function storageGet() { | |
| var res; | |
| chrome.storage.local.get(res = callbackFunc(items)); | |
| console.log(res); | |
| return res; | |
| } | |
| function callbackFunc(items) { | |
| console.log(items); | |
| callback(items); | |
| } | |
| const items = storageGet(); |
Promiseというものを使えば、
function storageGet() {
return new Promise((resolve) => chrome.storage.local.get((items) => resolve));
}と書いて
storageGet().then(items => console.log(items));とすることが可能じゃ
Promiseを使った場合、async awaitという特殊な書き方ができるぞい
storageGetの定義はそのままで、
// async function の中で
const iitem = await storageGet();
console.log(item);とかける。
最初の,
function storageGet(callback) {
chrome.storage.local.get(items => callback(items)); // この行で何故か表示がされている&正しい結果が出ている
}
function postPlayLists() {
const playlists = storageGet(console.log);
console.log(playlists); // undefined
}って感じなんだけど,こうではないんだよね?
三つ目の,はこんな感じ...
function storageGet() {
return new Promise((resolve) => chrome.storage.local.get((items) => resolve));
}
async function postPlayLists() {
const playlists = await storageGet();
console.log(playlists); // エラーも何も表示されない
}最初の,
function storageGet(callback) { chrome.storage.local.get(items => callback(items)); // この行で何故か表示がされている&正しい結果が出ている } function postPlayLists() { const playlists = storageGet(console.log); console.log(playlists); // undefined }って感じなんだけど,こうではないんだよね?
console.log(playlists); はちゃうな〜
三つ目の,はこんな感じ...
function storageGet() { return new Promise((resolve) => chrome.storage.local.get((items) => resolve)); } async function postPlayLists() { const playlists = await storageGet(); console.log(playlists); // エラーも何も表示されない }
function storageGet() {
- return new Promise((resolve) => chrome.storage.local.get((items) => resolve));
+ return new Promise((resolve) => chrome.storage.local.get((items) => resolve(items)));
}やったわテヘペロ
new Promise((resolve) => chrome.storage.local.get((items) => resolve)); + return new Promise((resolve) => chrome.storage.local.get((items) => resolve(items))); }やったわテヘペロ
できた!!!ありがとう!!
console.log(playlists); はちゃうな〜
これは,どうしたらよかったの??
普通に
function postPlayLists() {
const playlists = storageGet(() => { /* なんかする */});
}やで
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
ってして
みたいにする