相关疑难解决方法(0)

在Typescript中使用异步函数返回值

我具有以下TS功能:

CheckRegUser(u: User): boolean {
    let b: boolean = true;
    let toSend = {
      email: u.email
    };
    this.http.post("http://localhost:8080/", toSend).subscribe((data: Valid) => {
      if(!data.validity){
        b = false;
      }
    });
    console.log(b);
    return b;
}
Run Code Online (Sandbox Code Playgroud)

在这里,我连接到ExpressJS后端,并且返回了布尔结果。这部分工作正常,但是问题在于,在“ this.http”中更改b的值之前,已执行“ return b”语句,因此无论Express的响应如何,b始终为true。

我知道TS和JS是异步的,因此会导致此问题,但是我找不到解决我问题的正确方法。任何帮助,将不胜感激。

javascript asynchronous typescript

5
推荐指数
1
解决办法
3928
查看次数

标签 统计

asynchronous ×1

javascript ×1

typescript ×1