2017-10-13 23 views
-1

私はデータベースに税率のデータを保存しています(税率の更新を許可するため)。 javascriptでは、すべてのデータベース操作が非同期です。つまり、クエリの結果にアクセスするために約束またはコールバックを使用する必要があります。 1つのモジュールでデータベースから値を取得し、他のモジュールでこれらの値を同期的に使用する方法はありますか?非同期の値を同期的に使用する

私は反応の約束の値に基づいてコンポーネントをレンダリングするのが苦痛だから、これを頼んでいます。ありがとう!

+1

これを行う正しい方法です。正当な理由があります。私は、約束を使用して慣れ親しんでいることをお勧めします。それでは、彼らはもはや苦痛にならないでしょう:) – Shadow

+1

瞬間を考えれば、「非同期的な値を同期的に使う」ことは実現不可能です。 –

+1

2種類あります。 JavaScriptコーダー、非同期コードを理解しているコーダー –

答えて

2

関数内では、asyncawaitのキーワードを使用して、同期感覚の約束で作業することができます。しかし、実際には、非同期アクションを、値を返すまったく正常な同期関数にすることはできません(嫌なことをやりたくない)。その後、リアクトに約束した値に基づいてコンポーネントをレンダリングするために

、値をthis.stateにスペースを作り、render()方法でthis.state.yourValueを参照してください、そして、それは準備ができたときの状態を更新し、componentDidMount()で約束を求めます。 Here's a JSFiddle example

関連する問題