为什么我们在反应中使用异步之前功能

时间:2018-11-17 04:46:01

标签: reactjs react-native

有时我们在函数前使用async。我想知道异步的原因和正确用法。

async remove(id) {
    axios.delete('http://localhost:9022/users/delete/'+id)
      .then(res => {
        let updatedUsers = [...this.state.users].filter(i => i.id !== id);
        this.setState({users: updatedUsers});
      });
  }

&这是什么意思

Users.propTypes = {
  classes: PropTypes.object.isRequired,
};

1 个答案:

答案 0 :(得分:1)

  

异步函数是异步运行的函数   通过事件循环,使用隐式Promise返回其结果...

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function

基本上,异步函数使我们可以对执行异步操作的任何事物(API调用,数据库查询,超时等)使用更好的语法。

我们将函数定义为异步函数,您可以访问await关键字,这使您不必处理回调函数或Promise链。

例如:

async function foo() {
    let example = await apiQuery();
    ...
}

如果未将函数指定为async,则必须采用这种方式。

function foo() {
    apiQuery().then((data) => console.log(data));
    ...
}

您可以看到第一个示例为处理async函数提供了更清晰的方法。没有它,使用多个async函数调用会开始变得混乱。

关于第二个问题。

PropTypes是一种告诉其他开发人员您的React组件需要一些外部输入(props)才能正常工作的方法。因此,在您的情况下,Users组件需要一个标题为Object

类型的props类。

在此处查看更多-https://reactjs.org/docs/typechecking-with-proptypes.html