所以我猜我在做一些根本错误的事情。当我第一次从浏览器上传图像时,会触发以下函数,但它只发生一次。所以下次我上传图像时,我看不到 watchFileReader 函数再次运行.. 发生这种情况很奇怪..因为我正在让其他 saga 函数按预期运行!有人可以告诉我我可能做错了什么吗?
export function* watchFileReader() {
const action = yield take("DROP_FILE")
console.log('action', action)
let file = action.file[0];
readFile(file, function(e) {
sessionStorage.removeItem('img')
console.log('alskdjfalsdjkf', e.target.result)
sessionStorage.setItem('img', e.target.result)
})
}
export const readFile = (file, callback) => {
let reader = new FileReader()
reader.onloadend = callback;
reader.readAsDataURL(file)
}
export function* rootSaga() {
yield [
watchFileReader()
]
}