繁体   English   中英

Angular 4异步等待承诺中未捕获的异常

[英]Angular 4 async await uncaught exception in promise

我总是遇到错误

错误错误:未捕获(承诺):e:{“标头”:{“规范化dNames”:{},“ lazyUpdate”:null},“状态”:400,“ statusText”:“错误的请求”

代码是:(已更新)

async verify() {
  let schema = {"token": localStorage.getItem('id_token')};
  let response: any = await this.http.post('/api-token-verify/', schema).toPromise();
  return response;
}

public async tokenAliveState() {
  console.log("1");
  let stuff = await this.verify();
  console.log("2");

  console.log("Returning from tokenAliveState");
  return tokenNotExpired('id_token');
}

我要做的就是发布信息并等待响应,然后再继续。 响应为纯JSON。

角铁芯4。

有任何想法吗? 需要更多信息吗?

有没有人有一个简单的函数示例,可以在继续执行之前等待http响应? 我在网上找到的所有示例都显示与此类似,但无论我做什么,都会遇到未捕获的异常。

“东西”是一个承诺。 您需要.then()和.catch()异步调用的响应/错误。 基本上,您的http呼叫没有通过,您也没有捕获到Promise返回的错误。

stuff
  .then(() => {})
  .catch((error) => {}) 

应该使您的错误消失。

您应该始终将try调用包装在try catch块中,然后进行相应处理。

try {
    let response: any = await this.http.post('/api-token-verify/', schema).toPromise();
} catch (err) {
    // Handle the 400 http code here.
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM