gpt4 book ai didi

javascript - 如何将函数参数用作变量的一部分?

转载 作者:行者123 更新时间:2023-11-30 07:58:50 26 4
gpt4 key购买 nike

这行得通

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)
});

然而,当我试图让它成为一个函数时

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)

它说“tops”是未定义的。

最佳答案

当属性名称在变量中时,您可以使用方括号语法。所以,而不是这个:

items.sizePref.itemSize

你用这个:

items.sizePref[itemSize]

此外,您不能从异步回调中同步返回值。这种逻辑是错误的。因此,您不能创建一个函数 getSize() 来返回结果。在 getSize() 返回后的某个时间后,结果才会可用。您必须将回调传递到 getSize() 或让 getSize() 返回 promise 。

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
});

关于javascript - 如何将函数参数用作变量的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33194729/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com