【发布时间】:2020-02-02 08:00:51
【问题描述】:
我正在创建一个简单的 React Web 应用程序,它将使用 Reddit 的 api 显示 Reddit 内容。
handleLoad(event) {
(() => {
this.setState({
isLoading: true
});
var newUrl = "https://www.reddit.com/r/" + this.state.search + ".json"
return new Promise((resolve, reject) => {
fetch(newUrl)
.then((res) => {
if(res.ok){
resolve(res.json())
} else {
reject(res.status)
}
})
}).then(data => {
this.setState({
info: data,
isLoading: false,
error: false
})
}).catch((message)=>{
this.setState({
isLoading: false,
error: true
})
})
})()
}
这段代码确实有效,但我想知道是不是我做得太多了?我希望能够捕获任何错误(在 subreddit 不存在或被阻止的情况下),以便我的应用不会崩溃。
【问题讨论】:
-
去掉外层的Promise(promise wrapper)
标签: javascript reactjs fetch es6-promise