После преобразования кода .ui в .py требуется добавить основную функцию. После того, как основная функция добавлена правильно, она работает отлично.
Ваш patientService
возвращает Observable, поэтому functionCall searchPatientById()
является асинхронным. Это означает, что после вызова функции последующие строки будут выполнены, и часть в subscribe
будет выполнена, когда вы получите результат.
Чтобы избежать этого, у вас есть больше опций, например, вы можете создать другой метод, который должен быть выполнен ПОСЛЕ асинхронного вызова и чем вызывать этот метод в конце в subscribe
. Или вы можете использовать async/await
так:
constructor(public navCtrl: NavController, public navParams: NavParams, public
patientService: PatientServiceProvider, public scanner: BarcodeScanner) {
this.init();
}
async init() {
this.id = this.navParams.get('id');
let res = await this.patientService.searchPatientById(this.id);
this.id = res.id;
this.mobile = res.mobile;
this.fname = res.firstname;
this.lname = res.lastName;
console.log("print this:"+this.mobile);
this.mobile = this.navParams.get('mobile');
console.log(this.id);
console.log("****"+this.mobile);
}