Зачем использовать обещание при совершении звонка по топору ios api? - PullRequest
0 голосов
/ 18 апреля 2020

Я следовал учебнику vue. js и увидел кое-что, что смутило меня, и мне было интересно, может ли кто-нибудь объяснить это мне, поскольку я никогда не использую обещание. Приведенный ниже метод используется для назначения объекта массива customer. Зачем использовать обещание? Я думал, что Promise следует использовать, когда вы возвращаете объект потребителю службы? Почему и когда я должен использовать обещание?

loadCustomer() {
            new Promise((resolve, reject) => {
                axios.get(this.DetailsDataUrl)
                    .then(res => {
                        this.Customer = res.data
                        resolve()
                    })
                    .catch(err => {
                        console.log(err);
                        reject()
                    })
            });
        }

1 Ответ

3 голосов
/ 18 апреля 2020

С promises вы можете вызывать asynchronous функции. например, здесь, когда вы хотите использовать loadCustomer, вы можете await, пока эта функция не разрешит или не отклонит:

try {
  // resolve
  const response = await loadCustomer()
} catch(err) {
  // reject
  console.log(err)
}

axios само вернет promise: так что вы можете переписать свою функцию следующим образом :

loadCustoemr() {
  return axios.get(this.DetailsDataUrl)
}

и назовите его:

loadCutomer()
  .then(res => this.Customer = res.data)
  .catch(err => console.log(err))

, как указано выше, вы также можете использовать async/await здесь. Для получения дополнительной информации вы можете использовать эту ссылку ,

...