コールバック内で「yield」文が使用できないため、どのようにredux-sagaの「put」機能をコールバック内で使用できますか?コールバック内でredux-sagaに "put"をもたらす方法は?
私は、次のコールバックを持っているしたいと思います:
function onDownloadFileProgress(progress) {
yield put({type: ACTIONS.S_PROGRESS, progress})
}
歩留まりがプレーン機能で許可されていませんので、これは、作業と「予期しないトークン」で終わるされていません。さもなければ私は "機能*"としてコールバックを渡すことができません、それは歩留まりを可能にします。ここでES6が壊れているようだ。
私は、redux-sagaが「channels」と呼ばれる機能をいくつか提供していますが、正直言って私はそれを得ていませんでした。私はこれらのチャンネルとサンプルコードについて何度か読んだことがありますが、すべての例で、彼らは非常に困難で異なる問題を解決しました。私の単純なケースではなく、私が立ち上がった日の終わりです。
この問題を解決する方法を誰かに教えてもらえますか?
全体の文脈:
function onDownloadFileProgress(progress) {
yield put({type: ACTIONS.S_PROGRESS, progress})
}
export function * loadFile(id) {
let url = `media/files/${id}`;
const tempFilename = RNFS.CachesDirectoryPath + '/' + id;
const download = RNFS.downloadFile({
fromUrl: url,
toFile: tempFilename,
background: false,
progressDivider: 10,
progress: onDownloadFileProgress,
})
yield download.promise;
}
それは、あなたがそれを言って何をしたいですかない – Bergi
でき<->許されないのですか?それは違いになりますか? – delete