我正在嘗試做一個處理Angular 2中的聯繫人的服務。這就是我到目前爲止所做的。現在Angular 2 Promise throw error
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/toPromise';
@Injectable()
export class ContactsService {
constructor(private http: Http) { }
addContact(contact): Promise<any> {
return this.http
.post('http://localhost:8000/contacts', contact)
.toPromise()
.then(response => response.json())
.catch(error => error.json());
}
}
服務工作正常,如果我的反應得到400+
狀態代碼,該代碼轉到catch
瞪眼,如果它是200
代碼,它關係到then
狀態並返回響應。
但是,當我在組件內部使用它時,無論響應是否正確,它都會返回到then
狀態。
addingContact() {
this.contactsService
.addContact(this.user)
.then(
(contactx) => { console.log('THEN = ' + JSON.stringify(contactx)); },
(err) => { console.log('CATCH = ' + JSON.stringify(err)); }
);
}
有我丟失的東西,我應該扔東西的服務,使代碼轉到錯誤啓動櫃面我得到一個400+
狀態代碼?
先謝謝你了,丹尼爾!
事實上,你的代碼上面解決了我的問題:)。謝謝! – Devner