下記の処理が行われた時に正常に処理が行われればthen()の中の処理が呼ばれると思うのですが.catch(this.handleError)が呼ばれています。
console.logを下記の場所に埋め込んで調べたところthen()の中の処理は呼ばれていました。またctachの処理も呼ばれていたのです。then()とcatchが両方呼ばれることなどあるのでしょうか?
また .catch((e) => console.log('エラー'))が呼ばれたところなのですがデベロッパーツールでは
onDeleteGroup(group, type) {
//この行でcatchのエラーが呼ばれていた。
window.fetchJson(/group/
, {
となっていて
thenより前の行で呼ばれていることになっていましたどうしてなのでしょうか?
//追記
.catch((e) => console.log(e))としてみたところTypeError: Invalid attempt to spread non-iterable instanceというエラーでしたどうやって解決できるのでしょうか?
onDeleteGroup(group, type) { window.fetchJson(`/group/`, { method: DELETE, body: JSON.stringify(humps.decamelizeKeys( { Id: [this.state.id], groupId: group.id } )), }).then(() => this.deleteGroup(group, type)) //.catch(this.handleError); .catch((e) => console.log('エラー')) }
deleteGroup(group, type) { console.log(group); const temp = Object.assign({}, { [type]: user[type].filter((g) => g.id !== group.id) } ); this.setState({ user = temp [type]: [...this.state[type], group], isSnackBarActive: true, snackBarMessage: '削除しました。', }); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/17 06:34
2020/02/17 06:37
2020/02/17 08:13
2020/02/17 08:22
2020/02/17 08:29
2020/02/17 08:49 編集
2020/02/17 09:19
2020/02/17 09:27
2020/02/17 09:29