Tôi tự làm quen với Angular2, Ionic2 và có thể tôi hiểu nhầm điều gì đó nhưng đã hy vọng được trợ giúp.Trả lại giá trị hứa hẹn trong Angular 2, Ionic 2
Tôi có một nhà cung cấp được gọi là 'CurrentUser' với mục đích lưu trữ và nhận dữ liệu LocalStorage.
getProfile(): any {
this.local.get("user-profile").then((profile) => {
var val = JSON.parse(profile);
return val;
});
}
chức năng này getProfile()
trả về một lời hứa
Nếu tôi tiêm cung cấp dịch vụ này thành một thành phần. Làm thế nào tôi sẽ chờ đợi lời hứa để giải quyết trước khi gán dữ liệu khi gọi chức năng này từ thành phần ?.
@Component({
templateUrl: 'build/pages/book_meeting/book_meeting.html'
})
export class BookMeetingPage implements OnInit {
constructor(public navCtrl: NavController, private _currentUser: CurrentUser) {
}
profile: IProfile;
ngOnInit(): any {
this.profile = this._currentUser.getProfile();
console.log(this.profile);//returns undefined
}
}
Chào bạn, tôi nhận được app.bundle.js lỗi: 44529 EXCEPTION: Lỗi: Uncaught (trong lời hứa): TypeError: Không thể đọc thuộc tính 'then' khi không xác định. – Arianule
@Arianule xin lỗi tôi đã đề cập trong câu trả lời, nhưng quên thay đổi cùng một điều trong phần mã, xấu của tôi. Cảm ơn bạn đã đứng đầu. Kiểm tra mã cập nhật –
Xin chào Pankaj. Bạn đã cập nhật mã, xin lỗi. nên tôi trả lại một Promise ... một cái gì đó dọc theo dòng trở lại Promise.resolve (val)? – Arianule