1
だから私はLogin.ts
javascriptの約束の使い方は? (イオン性およびコルドバ関連)
export class LoginPage {
public version:string;
constructor(public navCtrl: NavController, public navParams: NavParams, private appVersion: AppVersion) {
this.appVersion.getVersionNumber().then((val) => {
this.version = val;
}).catch((val) => {
console.log(val);
});
}
}
そして、私のHTMLに以下している私はこのような何か持ってLogin.html
です:私は、HTML上で、以下の結果をレンダリングしたい
<p>{{version}}</p>
を:
<p>appVersion.getAppName() appVersion.getPackageName() appVersion.getVersionCode() appVersion.getVersionNumer()</p>
このように表示されます(出力形式についてはわかりませんが、このようなもの):
<p>MyApp 1.0 1.0.1 1.0.1 100</p>
これは、例えば、同期呼び出した場合、これは非常に簡単になります:
constructor(public navCtrl: NavController, public navParams: NavParams, private appVersion: AppVersion) {
this.version = appVersion.getAppName();
this.version += " " + appVersion.getPackageName();
this.version += " " + appVersion.getVersionCode();
this.version += " " + appVersion.getVersionNumer();
}
しかし、私はする必要があります値を取得するので、残念ながら結果は約束をしています約束の結果を設定してください。これどうやってするの?私は連鎖約束でそれをすることができると思っていますが、間違っているように見えます。
constructor(public navCtrl: NavController, public navParams: NavParams, private appVersion: AppVersion) {
this.appVersion.getAppName().then((val) => {
this.version = val;
this.appVersion.getPackageName().then((val) => {
this.version += " " + val;
this.appVersion.getVersionCode().then((val) => {
this.version += " " + val;
this.appVersion.getVersionNumber().then((val) => {
this.version += " " + val;
});
});
});
}).catch((val) => {
console.log(val);
});
}
正しい方法はありますか?
あなたは 'Promise.all'と考えましたか? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all – Hamms