【问题标题】:handle-callback-err Expected error to be handledhandle-callback-err 要处理的预期错误
【发布时间】:2017-04-09 14:24:10
【问题描述】:

我在我的 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" */

但是我如何完全抑制这个或修改代码,以便这个错误不会出现。

【问题讨论】:

  • 尝试写错误,因为(错误)错误有多个争论
  • warn改成off可以完全压制...

标签: javascript error-handling vue.js jslint eslint


【解决方案1】:

刚遇到同样的事情,警告信息具有误导性;这实际上是因为 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: '/'})
}

【讨论】:

    【解决方案2】:

    试试这个:

    error => {
      console.log('Inside error, fetching product line items failed', error)
      router.push({path: '/'})
    }
    

    如果有错误,你需要在你的代码中处理它。

    【讨论】:

      【解决方案3】:

      以下是迄今为止在 cmets 的帮助下取得成功的事情:

      如果我像下面这样设置if 条件,则不会出现错误:

      error => {
        if (error) {
          console.log('Inside error, fetching product line items failed')
          router.push({path: '/'})
        }
      }
      

      如果我不想更改代码,则输入以下内容将完全抑制错误:

      /* eslint handle-callback-err: "warn" */
      

      期待更好的建议。

      【讨论】:

      • 你试过了吗?尝试将错误写成(错误)错误有多个争论
      • @VinodLouis 你的意思是这样的:(error) => router.push({path: '/'}),这没有用。
      • (error) => { if (error) { console.log('Inside error, fetching product line items failed') router.push({path: '/'}) } }跨度>
      • 是的,这是可行的,但是,对于这个 get promise,它只会在出现错误的情况下进入错误块,因此 if(error) 块对我来说看起来是多余的。
      • 然后像这样尝试(错误)=> {router.push({path: '/'})}
      猜你喜欢
      • 2013-12-28
      • 2016-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-25
      • 2019-03-04
      相关资源
      最近更新 更多