"yield"문구가 콜백 내에서 허용되지 않기 때문에 콜백 내에서 redux-saga의 "put"기능을 어떻게 사용할 수 있습니까?콜백 내에서 redux-saga의 "yield"를 얻는 방법은 무엇입니까?
나는 다음과 같은 콜백을 가지고 싶습니다이 작동하고 "예기치 않은 토큰"에 종료되지
function onDownloadFileProgress(progress) {
yield put({type: ACTIONS.S_PROGRESS, progress})
}
을 수율가 일반 기능에 사용할 수 없습니다 때문입니다. 그렇지 않으면 "function *"으로 콜백을 전달할 수 없으므로 yield가 허용됩니다. 여기서 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