Tôi đang cố gắng trả lại một quan sát sau khi hoàn tất thành công Lời hứa của tôi, nhưng chức năng đó không trả lại được. Để cụ thể cho mã, tôi muốn tìm nạp mã thông báo auth từ bộ nhớ (trả về lời hứa) và sau khi dữ liệu đó được tìm nạp, sau đó tạo một yêu cầu Post tới Api (trả về Observable). Bằng cách làm như vậy, văn bản tuyệt vời cho một lỗi về chức năng rằng "một hàm mà kiểu tuyên bố không phải là 'khoảng trống' cũng không 'bất kỳ' phải trả lại một giá trị" dưới đây là mã của tôi,Làm cách nào để trả lại Quan sát sau khi một số Lời hứa được giải quyết trong Ionic 2/Angular 2?
logout() : Observable<any>{
this.userData.getAuthToken().then((token)=>{
this.token = token;
this.headers = new Headers ({
"X-USER-TOKEN": token
});
this.options = new RequestOptions ({
headers: this.headers
});
var logout_url = "Api logout method";
return this.http.post(logout_url,{},this.options)
.map (res => res.json())
});
}
nếu tôi chỉ đơn giản làm một yêu cầu đăng sau đó nó sẽ trả về mức phạt như thế này
return this.http.post(logout_url,{},this.options)
.map (res => res.json())
nhưng khi tôi cố gắng lấy dữ liệu, nó không trả về giá trị từ yêu cầu đăng bài này. Bất kỳ trợ giúp nào sẽ được đánh giá cao! Cảm ơn trước
giải pháp này có vẻ tốt nhưng nó cung cấp cho một lỗi nói _TypeError: Observable_2.fromPromise không phải là một function._ Mặc dù tôi đăng phiên bản ngắn tay của chức năng của tôi trong câu hỏi. Chức năng sau khi cập nhật với fromPromise và mergeMap được đăng ở trên. Plz có một cái nhìn hiện nó trông tốt? –
Đã thêm các mục nhập cần thiết vào câu trả lời. – cartant
mà nhập khẩu đã làm các trick –