私は.progress
コールバックを提供するライブラリを使用しています。これはフェッチを行い、進行中にこのコールバックをトリガーします。私は次のようにしています:put in progressコールバックの実行
const res = yield call(function fetchDownload() {
return RNFetchBlob.config({ fileCache:true }).fetch('GET', url)
.progress(function* progressDownload(received, total) {
console.log(`progressed received: "${received}" total: "${total}"`);
yield put(update(url, { progress:received/total }));
});
});
しかし、progressDownload
コールバックは決してトリガーしません。スーパースターをfunction* progressDownload
から削除すると、それが起動してconsole.logが表示されますが、put
は効果がありません。私はRNFetchBlobを使用しています
、ネイティブのlibに反応は、ここではそのprogress
callbacker上のドキュメントである - https://github.com/wkh237/react-native-fetch-blob/#user-content-uploaddownload-progress
興味深いのおかげで非常に多くのリーを参照してください。私は理解し、実装しようとします。 – Noitidart
Lee、ここでは 'channel'は最新の10個のメッセージしか取っていませんが、どうすれば制限なしで' channel'を行うことができますか? – Noitidart
あなたのサーガはチャンネルの進行メッセージを受け取りません。 デフォルトでは、チャネルは10個のメッセージしかバッファしません。 (https://redux-saga.js.org/docs/api/#channelbuffer) また、別のバッファを設定することもできます。 (https://redux-saga.js.org/docs/api/#buffers) –