Могу ли я вызвать функцию в цепочке обещаний в Angular

0

У меня есть часть кода, в которой я должен работать, я просматриваю цепочку обещаний, и мне интересно, правильно ли это

function1ThatReturnsAPromise(arg1, arg2)
.then(function2ThatReturnsAPromise(arg1, arg2))
.then(function3ThatReturnsAPromise(arg1, arg2))
.catch(functionThatCatchsAError(arg1, arg2));

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

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

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

  • 0
    Если ваши обещания содержат асинхронные функции, и для каждого шага обработки не нужны данные предыдущего этапа, объединение ваших обещаний может оказаться не лучшим решением. В этом случае попробуйте .spread() или .map() .
  • 0
    Да, вы всегда должны передать функцию обратного вызова, then .
Показать ещё 2 комментария
Теги:
asynchronous
promise

1 ответ

1
Лучший ответ

Да, но вот так:

function1ThatReturnsAPromise(arg1, arg2)
  .then(function(){
    return function2ThatReturnsAPromise(arg1, arg2)
   })
  .then....
  • 1
    .then(function(){ return function2ThatReturnsAPromise(arg1, arg2) }) также может быть .then(function2ThatReturnsAPromise.bind(null,arg1, arg2))

Ещё вопросы

Сообщество Overcoder
Наверх
Меню