我使用react native开发应用程序,并且在遇到错误时在控制台backend.js:32 Possible Unhandled Promise Rejection (id: 0):
中发出了警告。
我有2个组成部分。这是来自父组件 Sms-Registration.js
的代码段signInWithPhoneNumber = (phone) => {
return new Promise((resolve, reject) => {
return (
// this function authenticate user in firebase
auth()
.signInWithPhoneNumber(phone)
.then((confirmResult) => {
this.setState({
formSubmitted: false,
});
this.getSignInResult(confirmResult, phone);
return resolve();
})
.catch((error) => {
throw error;
})
);
});
};
render() {
return (
<PhoneNumber
signInWithPhoneNumber={this.signInWithPhoneNumber}
/>
);
}
这是 PhoneNumber.js 代码段
signInWithPhoneNumber = () => {
this.props
.signInWithPhoneNumber(
`${this.state.countryObj.dial_code}${this.state.phoneNumber}`,
)
.then((result) => console.log('new result', result))
.catch((error) => console.log('new error', error));
};
有人可以帮助我解决这个承诺吗?
答案 0 :(得分:1)
您需要处理拒绝问题,这意味着您必须在catch块内以与一切都顺利的方式调用resolve相同的方式调用