В Angular, как обрабатывать отказ от обещания при использовании async/await

В Angular, если я использую обещание, код будет

let promise = this.$resource('www.example.com.au/request.json').get().$promise
promise.then(data => {
    //promise solved
}, () => {
   //promise rejected
})

когда дело доходит до async/await, код становится

async getData() {
    let data = await this.$resource('www.example.com.au/request.json').get().$promise
    this.localData = {...data}
}

но это только для обещания решено. если это обещание отклонено, что мне делать? спасибо


person Benjamin Li    schedule 07.12.2016    source источник


Ответы (1)


Если обещание отклонено, будет выброшена ошибка. Используйте 1_:

async getData() {
  try {
    let data = await this.$resource('www.example.com.au/request.json').get().$promise
    this.localData = {...data};
  } catch(error) {
    // promise rejected
  }
}
person Felix Kling    schedule 07.12.2016