@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
       }
   })
})
  • Вопрос задан
  • 154 просмотра
Решения вопроса 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
frontend
Переписать на async/await ?
Ответ написан
SergeyEgorov
@SergeyEgorov
Веб разработчик
Когда в приложении есть
store
, можно на его события подписать обработчики и запускать поведение, глядя на изменения в содержимом хранилища.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Константа Москва
от 120 000 до 180 000 руб.
ООО "СИРЕНА БАС" Москва
от 80 000 до 150 000 руб.
Black Wall Group Москва
от 80 000 руб.
21 марта 2019, в 00:19
5000 руб./за проект
20 марта 2019, в 20:02
1000 руб./за проект