Angular2 kullanmaya başladım Observable
ama benzer bir şey bulamıyorum .then
ile kullandığım Promises
.
Bu benim gerçekleştirmek istediğim şey.
header.component.ts adresinden kod
public login() {
this._user = AuthService.getInstance().login(this._loginInfo);
}
auth.service.ts gelen kod
return this._httpClient.post('LoginAction', credentials)
.map(res => res.json())
.subscribe(user => {
return new User(user);
});
Sözlerle, login
işlevi, söz konusu sunucuya gerçek yanıt olarak dönüşecek olan Promise'e geri dönecektir. Ama Gözlemlenebilir ile bu işe yaramaz.
Benzer bir şey yapmanın bir yolu var mı? İçine abone koyma ihtiyacından kaçınmak istiyorum component
'ler login
işlevi. Hizmetteki tüm işleri yapabilmek ve gerçek nesneyi component
.
Ayrıca, yaratmaya çalıştım Promise
, ile toPromise
ama almaya devam ediyorum toPromise is not a function
.
Not; _httpClient, bazı üstbilgileri vb. ekleyerek istek hazırladığım angular2 etrafındaki sarıcıdır.
Düzenle
return this._httpClient.post('LoginAction', credentials)
.map(res => res.json())
.toPromise(). <-- i keep getting that it is not a function
then(user => {
return new User(user);
});
Bunu yaparak, bileşenim (ihtiyaç duyduğu şey) nesneyi alacak ve hizmette ek şeyler yapabileceğim (kullanıcıyı oturum açtıktan sonra, kullanıcı kaydetme gibi).
Ve ben değiştirdim Promise
çünkü aynı şeyi yapıyor Observable
çalışmıyor (ya da yanlış yapıyorum)?
Döndürülen nesnenin Gözlemlenebilir olduğunu görüyorum (Promise çağrılmadan önce), ancak göremiyorum toPromise
gerçekten işlev.