promise 中的异常捕获_javascript – 如何在promise中获取错误时捕获网络错误

所以我有这个Picker组件,对于这些项目,我从服务器获取数据并在状态更改时映射它.

//api.js

var api = {

getBooks() {

var url = 'http://192.168.43.14:8080/api/books/'

var headers = new Headers();

headers.append('Accept', 'application/json');

return fetch(url, headers)

.then((res) => res.json())

.catch(function(err) {

console.log('Fetch Error :-S', err);

throw Error(err);

});

}

}

//RegisterMobile.js

import api from '../utilities/api'

export default class RegisterMobile extends Component {

constructor(props) {

super(props)

this.state = {

books: [],

book: '',

mobile: '',

displayError: false,

error: 'Please provide a valid mobile number'

}

}

componentWillMount() {

api.getBooks().then((res) => {

this.setState({

books: res

})

})

}

render() {

return(

{this.state.books.map((book) => {return })}

{this.state.displayError ? {this.state.error} : null}

)

}

}

这工作正常.我得到了项目列表,当我点击Picker时,我可以选择项目.我想要做的是,如果在获取数据时出现任何错误(例如服务器关闭),我想得到该错误并将其显示为错误(这只会改变错误状态和displayError).但我不知道如果有一个错误的状态设置错误如何得到错误.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值