コンポーネントの中からサービスメソッドを呼び出すと、Promiseが返されます。私は、約束が解決されるか拒否されるかに基づいて、さまざまなことをしたい。ときの約束私は実行するfailureMessage
機能を期待していたサービスメソッド返信Promise.reject in ionic page
addContact(email: string, type: string) {
return new Promise((resolve, reject) => {
if (!email.match(patterns.email)) {
return Promise.reject('Bad email address');
}
let data = {
to: email,
from: this.dataStorage.data.id,
type: type,
date: new Date().getTime()
};
this.http.post(`${serverURL}action=sendAddRequest&token=${localStorage['token']}`, JSON.stringify(data))
.map((res: Response) => res.text())
.subscribe(response => {
resolve('Request sent');
});
});
}
onAddProvider() {
this.userInteraction.addContact(data.email, 'bp').then(
successMessage => {
doSomething();
},
failureMessage => {
doSomethingElse();
});
}
サービスメソッドを呼び出します
機能:私はこのようにそれをやっています.rejectが返されますが、コンソールでこのエラーが発生します。
EXCEPTION: Error: Uncaught (in promise): Bad email address
私はそれを試してみたが、私はこの@AlexandruPufan同じエラー –
は、実際には、正しい答えです取得します。あなたはこの修正の問題をフィドル/プランクとして再現できますか? 'Promise.reject( '悪い電子メールアドレス')'は未知の約束を作成し、 'reject'を呼び出さず、' then'は決して解雇されません。 'reject'は反対です(返されるべきではありません)。 – estus
あなたは正しいです、私の間違いはどこか他にありました –