同步使用异步值

时间:2017-10-13 04:23:34

标签: javascript asynchronous

我有存储在数据库中的税率数据(允许更新税率)。在javascript中,所有数据库操作都是异步的,这意味着我必须使用promise或callback来访问查询结果。有没有办法在一个模块中从数据库中检索值,并在其他模块中以同步方式使用这些值?

我问这个是因为根据promise中的promise值渲染组件是一件痛苦的事。谢谢!

1 个答案:

答案 0 :(得分:2)

在一个函数中,您现在可以使用asyncawait关键字以同步感方式处理promises。但是,您实际上无法将异步操作转换为完全正常的同步函数,该函数会立即返回一个值,不会(没有做您不想做的疯狂事情)。

要根据React中的承诺值呈现组件,请在this.state中为该值留出空间,请参阅this.state.yourValue方法中的render(),然后调用承诺componentDidMount(),在状态准备就绪时更新状态。 Here's a JSFiddle example