有时我们在函数前使用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,
};
答案 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
在此处查看更多-https://reactjs.org/docs/typechecking-with-proptypes.html