Как прервать обещание всем в хорошей практике - PullRequest
3 голосов
/ 24 октября 2019

Я выполняю задачу загрузки большого файла. Я бы разбил большой файл на сотни заданий.

Promise.all ([100_subtasks]). Then (DO_SOMETHING)

Однако, допустим, что подзадача не выполненаили пользователь хочет прервать весь процесс вручную.

Как мне это сделать?

Моя идея состоит в том, что каждая подзадача будет выполнять специальную проверку флага.

    subTask(){
        // before do a upload
        if (cancelFlag === true){
            abort the following upload process
        }

    }

    userClicksCancel(){
        // turn the flag to true
        cancelFlag = true ;
    }

Большое спасибо!

...