ale*_*kwa 1 javascript variables function google-chrome-extension
这有效
chrome.storage.local.get('sizePref', function(items) { // Get size preferences from storage
var sizePref2 = items.sizePref.tops; // Set size to a var
console.log("You can get this " + sizePref2)
});
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使它成为一个功能
function getSize(itemSize) {
chrome.storage.local.get('sizePref', function(items) { // Get size preferences from storage
var sizePref = items.sizePref.itemSize;
return (sizePref);
});
}
var mySize = getSize(tops);
console.log("This size that u are looking for is " + mySize)
Run Code Online (Sandbox Code Playgroud)
它说"上衣"是不确定的.
当属性名称在变量中时,您使用括号语法.所以,而不是这个:
items.sizePref.itemSize
Run Code Online (Sandbox Code Playgroud)
你用这个:
items.sizePref[itemSize]
Run Code Online (Sandbox Code Playgroud)
此外,您无法从异步回调中同步返回值.这种逻辑是错的.因此,您无法创建getSize()将返回结果的函数.结果将在getSize()已经返回后的某个时间段之后才可用.您必须将回调传递给getSize()或已经getSize()返回承诺.
function getSize(itemSize) {
return new Promise(function(resolve) {
chrome.storage.local.get('sizePref', function(items) { // Get size preferences from storage
resolve(items.sizePref[itemSize]);
});
}
getSize("whatever").then(function(result) {
// code that uses the result here
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
68 次 |
| 最近记录: |