Как дождаться завершения http запроса в angular -7 - PullRequest
1 голос
/ 04 февраля 2020
import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
import { HttpClient } from '@angular/common/http';
import { Post } from 'src/app/sign-in/post';
@Injectable({
    providedIn: 'root'
})
export class NewUserService {

    constructor(private router:Router,private http: HttpClient) { }

    async signIn(email:any,password:any){
        const userDate = {
            email:email,
            password:password
        }

        console.log("Before request");

        await this.http.post<{
            Status: string;
            StatusDetails: string;
            token: string;
        }>("http://localhost:5000/user/signin", userDate)
        .subscribe(respond => {
            console.log("respond");
            if (respond.token) {
            //sign susess
        }else {
            //fail
        }
        });
        console.log("After request")
    }
}

Это мой класс servise.ts. В слух я пытаюсь сделать запрос на почту. Перед завершением запроса выполните другой код. Я ожидаю, что вывод будет

До запроса

Ответ

После запроса

Но фактический результат равен

Перед запросом

После запроса

ответить

Как выполнить код, подобный

Перед запросом

ответить

после запроса

...