在 Angular 中,如何在使用 async/await 时处理 Promise 拒绝

Posted

技术标签:

【中文标题】在 Angular 中,如何在使用 async/await 时处理 Promise 拒绝【英文标题】:In Angular, how to handle promise reject when using async/await 【发布时间】:2017-04-23 01:26:28 【问题描述】:

在 Angular 中,如果我使用 Promise,代码将是

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

关于异步/等待 代码变成了

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

但这只是为了解决promise。如果是 promise 被拒绝,我该怎么办?谢谢

【问题讨论】:

【参考方案1】:

如果 promise 被拒绝,则会抛出错误。使用try...catch

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

【讨论】:

以上是关于在 Angular 中,如何在使用 async/await 时处理 Promise 拒绝的主要内容,如果未能解决你的问题,请参考以下文章

async.map 不会在 nodejs 中调用回调

async函数

如何在angular2中使用添加类属性

如何在 Angular 2 中使用 DataTable

如何在 SASS 中使用 Angular 4

如何通过 Angular 方式示例在 Angular DataTables 中使用服务器端选项?