Обещание цепочки с успехом и отклонение функций - PullRequest
0 голосов
/ 21 февраля 2019

Учитывая немного кода, подобного следующему:

let p = somePromise
p.then(
    function (response) {
        $scope.resultDetails = response.data;
        return theNextPromise;
    },
    function (error) {
        $scope.resultDetails = error.data;
        return theNextPromise;
    }
).then((result) => { ...do more stuff here });

Что нужно сделать, чтобы вернуть обещание из этого, чтобы начать цепочку, если вы хотите вернуть обещание, когда вы либо решаете, либоотклонить кажется, что вы в конечном итоге дублировать код.Это так или есть что-то, что вы можете сделать, чтобы сделать этот процесс немного чище

1 Ответ

0 голосов
/ 21 февраля 2019

Как насчет этого?Вы инициализируете объект обещания и продолжаете цепочку, пока не захотите завершить обещание.

let sequence = Promise.resolve()

sequence = sequence.then(() => {
  return p
});

sequence = sequence.then((response) => {
    $scope.resultDetails = response.data;
    return theNextPromise;
  },
(error) => {
    $scope.resultDetails = error.data;
    return theNextPromise;
  }));

sequence = sequence.then(result => {return promise object})

// finalize
sequence.then(do something) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...