vue webappでeslint
を有効にしています。次のコードがあります:
myApi.get('products/12').then((prodResponse) => {
state.commit('ADD_PRODUCT', {product: prodResponse.data})
},
error => {
console.log('Inside error, fetching product line items failed')
router.Push({path: '/'})
})
これは私がやりたいエラー処理ですが、それでもライナーから次のエラーが発生します。
✘ http://eslint.org/docs/rules/handle-callback-err 処理されると予想されるエラー〜/ vue/src/store/modules/myStore.js:97:9エラー=> {{
これを警告に変換するために、次のコメントを追加できます。
/* eslint handle-callback-err: "warn" */
しかし、このエラーが発生しないように、これを完全に抑制したり、コードを変更したりするにはどうすればよいですか。
同じことがあり、警告メッセージは誤解を招くものです。これは、実際にはerror
がコード内で参照ではないためであり、「処理」されていないためではありません。
console.log()
などのエラーのあることを行うか、引数として含めないでください。
// do something with error:
error => {
console.log('Inside error, fetching product line items failed', error)
router.Push({path: '/'})
}
// don't define argument:
() => {
console.log('Inside error, fetching product line items failed')
router.Push({path: '/'})
}
これを試して:
error => {
console.log('Inside error, fetching product line items failed', error)
router.Push({path: '/'})
}
エラーがある場合は、コードで処理する必要があります。
以下は、コメントの助けを借りて、これまでに機能したものです。
次のようにif
条件を設定すると、エラーは発生しません。
error => {
if (error) {
console.log('Inside error, fetching product line items failed')
router.Push({path: '/'})
}
}
コードを変更したくない場合は、以下を入力するとエラーが完全に抑制されます。
/* eslint handle-callback-err: "warn" */
より良い提案を楽しみにしています。