@Miki8887
Front-end разработчик

Как убрать вложенность промисов?

Здравствуйте, подскажите, как убрать вложенность промисов в коде?
this.$store.dispatch(GET_ORDER, order).then( () => {
  let data = {}
  data.id = order
  data.order = {status, comment, totalPrice, paymentMethod}
  this.$store.dispatch(PATCH_ORDER, data).then( () => {
      if (this.responseServer){
              this.$refs.modalSend.hide()
              this.status=1
      }
   })
}, () => {
   this.$store.dispatch(POST_ORDER, {id, status, comment, totalPrice, paymentMethod}).then( () => {
       if (this.responseServer){
          this.$refs.modalSend.hide()
          this.status = 1
       }
   })
})
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
@SeaBreeze876
Front-end разработчик
вот так
this.$store.dispatch(GET_ORDER, order).then(() => {
    let data = {};
    data.id = order;
    data.order = {
        status,
        comment,
        totalPrice,
        paymentMethod
    };
    return this.$store.dispatch(PATCH_ORDER, data);
}).catch(() => {
    return this.$store.dispatch(POST_ORDER, {
        id,
        status,
        comment,
        totalPrice,
        paymentMethod
    });
}).then(() => {
    if (this.responseServer) {
        this.$refs.modalSend.hide();
        this.status = 1;
    }
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@givemoneybiatch
Немного веб, немного гейм
Переписать на async/await ?
Ответ написан
SergeyEgorov
@SergeyEgorov
Веб разработчик
Когда в приложении есть
store
, можно на его события подписать обработчики и запускать поведение, глядя на изменения в содержимом хранилища.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
MXP
от 120 000 до 140 000 руб.
Posh Space Москва
от 160 000 до 180 000 руб.
Fundraise Up Санкт-Петербург
от 170 000 руб.