【发布时间】:2021-01-22 13:32:01
【问题描述】:
我正在用 React + Redux 编写一个简单的程序。
在createAsyncThunk 内部,我需要发送多个请求来发送数据块。
现在我的代码如下所示;
export const sendData = createAsyncThunk<
void,
{
id: string;
data: Uint8Array;
}
>("files/upload", async (props) => {
const { uploadId } = await api.init();
try {
let i = 0;
while (props.data.length > i * CHUNK_SIZE) {
const chunkedData ... // Here I create chunked data from props.data.
await api.uploadFileChunk({
uploadId: uploadId,
data: chunkedData,
});
i++;
}
await api.complete({
id: props.id,
uploadId: uploadId,
});
} catch (err) {
await api.abort({ uploadId: uploadId });
}
});
目前,我在发送数据时显示了一个加载栏,但它没有告诉进度。我想改进程序以显示进度条,因为如果要发送的数据很大,则需要很长时间。
如何使用createAsyncThunk 管理progress?
【问题讨论】:
标签: redux react-redux redux-toolkit