Javascrip default parameter ReferenceError: param is not defined
Javascrip default parameter ReferenceError: param is not defined
我定义了一个函数来获取一些数据。我这样设置默认参数:
export async function fetchSomeData(limit=10, offset=0) {
// fetch something
}
我在我的组件中导入这个函数并像这样使用它:
async componentDidMount() {
...
let someData = await fetchSomeData() <- This works
let someData = await fetchSomeData(limit=20, offset=10) <- This doesn't work
...
}
它在不设置 limit
和 offset
的情况下工作,但是当我尝试为 offset
和 limit
传递新值时,我得到一个 Unhandled Runtime Error ReferenceError: limit/offset is not defined
.我错过了什么吗?
如果调用函数,则不会“设置”“参数名称”。
您只需简单地解析要在函数中使用的 Numbers/Data。
因此您的函数调用应如下所示:
let someData = await fetchSomeData(20, 10) <- This should work
--
如果您想再次使用相同的参数(在您的情况下 someData
),您不需要“重新设置”变量类型。您只需覆盖现有数据即可。
因此在您的情况下,您的 componentDidMount
将如下所示:
async componentDidMount() {
...
let someData = await fetchSomeData() <- This works
someData = await fetchSomeData(20, 10) <- This should work
...
}
与 pyhton 不同,您不需要在函数中指定参数名称。
以下作品在 python、
fetchSomeData(limit=20, offset=10)
fetchSomeData(offset=10)
以下是在 JS 中做同样事情的方法,
fetchSomeData(20, 10)
fetchSomeData(undefined, 10)
如果您想为参数使用默认值,请传递 undefined
。
我定义了一个函数来获取一些数据。我这样设置默认参数:
export async function fetchSomeData(limit=10, offset=0) {
// fetch something
}
我在我的组件中导入这个函数并像这样使用它:
async componentDidMount() {
...
let someData = await fetchSomeData() <- This works
let someData = await fetchSomeData(limit=20, offset=10) <- This doesn't work
...
}
它在不设置 limit
和 offset
的情况下工作,但是当我尝试为 offset
和 limit
传递新值时,我得到一个 Unhandled Runtime Error ReferenceError: limit/offset is not defined
.我错过了什么吗?
如果调用函数,则不会“设置”“参数名称”。
您只需简单地解析要在函数中使用的 Numbers/Data。
因此您的函数调用应如下所示:
let someData = await fetchSomeData(20, 10) <- This should work
--
如果您想再次使用相同的参数(在您的情况下 someData
),您不需要“重新设置”变量类型。您只需覆盖现有数据即可。
因此在您的情况下,您的 componentDidMount
将如下所示:
async componentDidMount() {
...
let someData = await fetchSomeData() <- This works
someData = await fetchSomeData(20, 10) <- This should work
...
}
与 pyhton 不同,您不需要在函数中指定参数名称。
以下作品在 python、
fetchSomeData(limit=20, offset=10)
fetchSomeData(offset=10)
以下是在 JS 中做同样事情的方法,
fetchSomeData(20, 10)
fetchSomeData(undefined, 10)
如果您想为参数使用默认值,请传递 undefined
。