string, password: string, captcha: string): Promise<any> {
let params = {username, password, 'g-recaptcha-response': captcha};
if (captcha) {
params = {...params, 'g-recaptcha-response': captcha};
}
return this.httpBackend.handle(
new HttpRequest('POST', ${environment.api_url}/account/login/, params)
)
.toPromise()
.then((res: HttpResponse<any>) => this.enter(res.body));
}
и компанент где он используется
login(): void {
this.errors = Validation.ValidateLogin(this.username, this.password, this.countTries >= this.totalTries, this.captcha_token);
console.log(this.errors);
if (!isEmpty(this.errors)) {
return;
}
this.authService.login(this.username, this.password, this.captcha_token)
.then(
() => {
console.log('Успешно!');
this.notify.success('Успешно!', 'Добро пожаловать!');
this.loginUser(this.username);
},
(err) => {
console.log(err);
this.countTries++;
const error = err.error;
if (error.errors) {
console.log(error);
this.errors = error.errors;
}
if (!(error.message === 'Validation failed' || error.message === 'User is inactive')) {
console.log(error);
this.errors = error.errors;
this.errors.username = [];
}
}
);
}
а есть такой
export class AuthService {
private _registerUrl = "http://localhost:3000/api/register";
constructor(private http: HttpClient) { }
registerUser(user) {
return this.http.post<any😠this._registerUrl, user);
}
}
export class RegisterComponent implements OnInit {
registerUserData = {};
constructor(private _auth: AuthService) {}
ngOnInit() {
}
registerUser() {
this._auth.registerUser(this.registerUserData)
.subscribe(
res => console.log(res),
err => console.log(err)
);
}
}
в первом используется promice, а во втором subscribe можете мне объяснить в двух словах какая разница и что все таки лучше использовать?
для начала ты в обоих случаях не предусматриваешь что жизнь компонента может быть кароче жизни запроса
Обсуждают сегодня