私は、サーバーとの通信に使用されるすべてのメソッドを保持する一般的な.js crudオブジェクトを書いています。しかし、私は.thenと.catchの繰り返しを避けたいと思います。私は外部の方法でその機能を抽象化したいと思います。約束事から抜粋してください。
私が達成しようとしていることが可能かどうかはわかりません。
以下の私のコード:
all(url, success, fail){
return new Promise((resolve,reject) => {
_get(url)
.then((response) => {
if (response.status == 200) {
success.call(this,response);
return resolve();
}
})
.catch((error) => {
fail.call(this, error);
reject(error);
});
});}, submit, update .....
ワンダーランド望ましい結果:
all(url, success, fail){
return new Promise((resolve, reject) => {
_get(url).handle(args);
});
}
「新しい約束」を返す目的は何ですか?なぜ、 'return _get(url).then(...)catch(...)'だけでなく、すでに約束ですか? –
それは実際には予想外に簡単でした。私は約束を新しくしており、私はその部分を逃してしまった。これは実際に私の問題を解決し、私はすべての.thenと.catchロジックを元の約束の中に入れました。コメントを回答として残して、正しいとチェックします。ありがとう – Enrico
質問のタイトルを編集して「解決済み」ラベルを追加しないでください。代わりに、あなた自身で問題を解決した場合は、ソリューションを回答として投稿し、それを受け入れます。 – royhowie