非常に単純で一般的な使用例ですが、私は満足のいく答えを見つけることができません。 私はいくつかのデータをローカルに保存する必要があるネイティブのアプリケーションに対応しています。私はreduxとredux-observablesとRealmをストレージとして使用しています。Reactネイティブ計算の重いタスク
私が必要とするのは、いくつかのアクションが発生します.ADD_ITEMとしましょう。私はいくつかのペイロード(標準redux)でUIを更新する必要があります。次に、そのペイロードを作成して別のデータに変換し、そのデータをレルムに(非同期に)保存します。私が何をしようと、それは常にUI(多く)です。
私はそのrealm呼び出しを約束してswitchMapを使用しようとしましたが、まだ遅いです。
私はまだ労働者を見たことはありませんが、文字列を受け入れるだけです。これは、私にはあまり役に立たないと言いましょう。
この計算をネイティブのバックグラウンドスレッドに完全にオフロードできますが、それは非常に不快で多くの書き込みになります。
async await help me?レジェククス - サガの?本当の非同期処理ではなく、同じことだと思います。
これは完全に間違ったライブラリを使用していますか?一般的に
const insertOrderItem = (action$) =>
action$.ofType(Action.ADD_ORDER_ITEM)
.switchMap(({ payload }) => Rx.Observable.fromPromise(
new Promise((resolve, reject) => {
storage.insert(createObject(payload)
resolve({
type: "OPERATION_ADDED"
})
})
))
、レルムに小さなデータを格納すると、そのくらいの計算重くなるが、それはバックグラウンドスレッド上のジョブのこの種を行うことが必要だような気がしてはいけません。
何か不足していますか?
おかげ
storage.insertはrealm.writeのラッパーです。ええ、Javaは助けにはなりませんが、ありがとう。 – trubi