我收到这个错误:
TypeError: Cannot read property 'then' of undefined in controller
[ Controller ]
fetchGameData() {
DataModel.getList().then(data => {
console.log(data);
})
}
[数据模型]
export default {
getList() {
fetch('URL')
.then((res) => {
return Promise.resolve(res.json());
})
.catch((err) => {
console.log("Fetch Error!!!", err);
})
}
}
最佳答案
其实错误已经很清楚了。您的函数 getList()
不会返回任何在 JavaScript 中将被 undefined
的内容。你应该在你的函数结束时返回“something”。如果你想在函数的返回值上使用 .then
,你可能想要返回一个 "Promise"。
fetch
函数无论如何都会返回一个 Promise
。所以可以简单地返回它。您可以找到有关 fetch here https://javascript.info/fetch 的更多信息
所以一个更简洁的选择是
export default {
getList() {
return fetch('URL')
.then((res) => {
return Promise.resolve(res.json());
})
.catch((err) => {
console.log("Fetch Error!!!", err);
})
}
}
关于javascript - 我得到错误 "Cannot read property ' 然后'未定义',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64925342/