我有一个 AddContactForm
表单,允许用户添加联系人
。
当用户填写 conactNumber
- onBlur
时,它会检查此 conactNumber
是否已存在。
如何使 CheckIfContactExists
函数返回 true
或 false
而不是 Promise 对象?
请注意,我无法更改 api 的返回值,它仅返回一个 contact
对象。
export default class AddContactForm extends Component {
state = {
...
};
checkContact = () => {
const { contactNumber } = this.state.newContactInfo;
CheckIfContactExists(contactNumber); //return promise
};
render() {
...
return (
...
);
}
}
const CheckIfContactExists = async searchString => {
const { data: contactsInfo } = await axios.get(`api/Contacts/SearchContact?contactNum=${searchString}`);
};
最佳答案
你不能让它只返回一个 bool 值,因为它是一个异步操作。您也可以使 checkContact
函数 async
并await
它。
示例
export default class AddContactForm extends Component {
state = {
// ...
};
checkContact = async () => {
const { contactNumber } = this.state.newContactInfo;
const contactInfo = await CheckIfContactExists(contactNumber);
this.setState({
contactNumberTaken: Object.keys(contactInfo).length !== 0
});
};
render() {
// ...
}
}
关于javascript - 检查空对象并返回 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54736511/