Я хочу отменить загрузку файлов, нажав кнопку отмены.
Что я пытаюсь сделать?
Я загружаю файлы, отправляя запрос на сервер, который показывает индикатор выполнения на основе размера загруженного файла.Теперь, если пользователь нажимает кнопку отмены, он должен прекратить загрузку файлов.Я не уверен, как отменить запрос.У меня установлено состояние load_cancel, которое устанавливается равным true при нажатии кнопки отмены при использовании компонента componentwillunmount состояние load_cancel устанавливается в значение false.
Ниже приведен код,
this.state {
load_cancel: false,};
componentDidMount() {
if(this.props.item) {
this.load_item_data();
}
}
on_load_cancel = () => {this.setState({load_cancel: true;});
load_item_data = () => {
const props = this.props;
this.file_download_status = {};
if (this.on_item_changed) {
this.on_item_changed();
}
const item_changed = new Promise((resolve) => { this.on_item_changed =
resolve; });
const abort_loading = Promise.race([item_changed, this.unmount]);
item.load(props.item.id, gl, this.update_download_progress,
abort_loading).then((result) => {
this.files = result.files;
this.setState({
item_download_done: true,
});
client.add_item_view(props.item.id, abort_loading);
});
{props.item &&
<ProgressBar
on_load_cancel={this.load_cancel}
/>}
Ниже находится кнопка отмены в компоненте Progressbar,
<button onClick={props.on_load_cancel}>Cancel</button>
Может ли кто-нибудь помочь мне с этим?Спасибо.