我做了componentWillMount()
异步。现在我可以使用await
了setState
。
这是示例代码:
componentWillMount = async() => {
const { fetchRooms } = this.props
await this.setState({ })
fetchRooms()
}
所以这里的问题是this.setState
回报承诺,因为我可以使用await
它吗?
编辑
当我等待时,它将按顺序运行;1, 2, 3
当我删除等待时,它将运行1, 3, 2
?
componentWillMount = async() => {
const { fetchRooms } = this.props
console.log(1)
await this.setState({ } => {
console.log(2)
})
console.log(3)
fetchRooms()
}
setState
通常不与promises一起使用,因为很少有这种需求。如果在状态更新(fetchRooms
)之后调用的方法依赖于更新的状态(roomId
),则它可以通过其他方式(例如,作为参数)访问它。
setState
使用回调并且不html" target="_blank">返回承诺。由于很少需要这样做,因此创建未使用的承诺会导致开销。
为了兑现诺言,setState
可以按照此答案的建议进行承诺。
发布的代码可以使用,await
因为它是hack。await ...
是的语法糖Promise.resolve(...).then(...)
。await
产生一滴答的延迟,该延迟允许在状态更新完成后评估下一行,从而可以按预期顺序评估代码。这与:
this.setState({ roomId: room && room.roomId ? room.roomId : 0 } => {
console.log(2)
})
setTimeout(() => {
console.log(3)
});
无法保证订单在不同条件下会保持不变。同样,第一个setState
回调也不适合检查状态是否已更新,这就是第二个回调的目的。
这方面的最佳实践是什么。NET与Web API?特别是WebRESTAPI。当异常发生时,RESTAPI是否应该在响应体中返回异常? 当然,我会返回500或类似的HTTP状态。但是当我用这个错误代码响应时,最佳实践是什么?或者更好的是,规范或RESTAPI对此有何规定? 返回异常(我所做的)
问题内容: 显然,该方法的返回类型为void,因此,它不返回任何内容。从这个意义上讲,我使用“返回”一词来表示将响应发送回请求它的客户端。 我正在尝试实现一个长轮询的Servlet。最好在我有想要发回的东西之前不发送响应,这将是有益的。因此,在doGet方法中,将连接的用户的ID和AsyncContext添加到映射中: 然后,当我有东西要发回时,我可以检索适当的上下文并写入其响应输出流: 但是,客
问题内容: 在我的科目表中,我按学期和月份列出了所有学生的课程,每个月的分数 这就是我尝试过的 我从查询中获得的当前输出是每个查询的多个响应,因为我可以将其更改为,但不会获取其他数据 我的问题是我如何将它们合并为一个响应,并在预期的输出中返回以下数据(我在每个字段中添加了一些说明以对其进行解释) 预期产量 问题答案: 问题是,您想获取主题,而不是学生。因此,我反转了FROM和LEFT JOIN。因
我希望在spring boot中返回类似以下内容的json响应: 我的RestController如下所示 但我得到的反应是这样的
我想用响应替换http异常,也就是说,我使用我想返回的responseentity,例如409如果没有通过名称找到用户,509如果没有通过邮件找到用户,我可以确定responseentity中的错误号及其描述吗?如果有,可以举例说明吗?
本文向大家介绍symfony2 返回404响应,包括了symfony2 返回404响应的使用技巧和注意事项,需要的朋友参考一下 示例 当在服务器上找不到资源时,将返回404响应。在Symfony中,可以通过引发NotFoundHttpException异常来创建此状态。为了避免use在控制器内部添加多余的语句,请使用类createNotFoundException()提供的Controller