栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

this.setState是否在响应中返回promise

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

this.setState是否在响应中返回promise

setState
通常不与promises一起使用,因为很少有这种需求。如果在状态更新(
fetchRooms
)之后调用的方法依赖于更新的状态(
roomId
),则它可以通过其他方式(例如,作为参数)访问它。

setState
使用回调并且不返回承诺。由于很少需要这样做,因此创建未使用的承诺会导致开销。

为了兑现诺言,

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
回调也不适合检查状态是否已更新,这就是第二个回调的目的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/608796.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号