期望catch()或返回结果后返回

时间:2018-06-05 06:54:43

标签: node.js promise eslint

很抱歉提出一个愚蠢的问题,但我已经返回了给定代码中的所有内容但仍然显示

52:5   error    Expected catch() or return      promise/catch-or-return

我不知道它的期望是什么。这是我的代码。

52:5    rp(options).then(function (response,body) {
            a = response.data;
            return a;
        }).catch(function (error) {
            // POST failed...
            return console.log('error');

        }).then(result =>{
           console.log('key: ' + a);
           return db.collection('Users').doc(user_id).set({name:name1,notification_key:a,image:image1,token_id:token_id1,email:token_email});
});

1 个答案:

答案 0 :(得分:0)

这是一个linter错误(eslint rule promise/catch-or-return)。这是为了避免未经处理的拒绝和承诺。

52的问题很可能是完整代码:

function myFunction() {
   /* ... */      
   rp().then(/*.*/).catch(/*.*/).then(/*.*/);
}

您没有处理承诺,因此要么在最终catch()之后添加then,要么使用return rp()返回整个承诺。