javascript - 检查空对象并返回 bool 值

标签 javascript reactjs

我有一个 AddContactForm 表单,允许用户添加联系人

当用户填写 conactNumber- onBlur 时,它会检查此 conactNumber 是否已存在。

如何使 CheckIfContactExists 函数返回 truefalse 而不是 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 函数 asyncawait 它。

示例

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/

相关文章:

javascript - 我可以导入node-postgres模块(pg)还是仅使用CommonJS?

javascript - Sinon TypeError : Attempted to wrap undefined property getInternationals as function

javascript - 如何使用 React Hooks 处理 React Svg 拖放

reactjs - 如何用react js打开动态模态

reactjs - React Hooks useState 事件处理程序与样式组件

javascript - 从javascript中的日期获取月份数

javascript - 如何在 JavaScript 中将字符串 "01"转换为数字?

javascript - 使用 datetimepicker 和格式 ('LLLL' 的 formValidation )

javascript - React.js 处理 3rd 方库安装

javascript - Reactjs:拆分功能不起作用?