Javascript getting error Each then()应返回一个值或抛出我的firebase函数

Javascript getting error Each then()应返回一个值或抛出我的firebase函数,javascript,node.js,firebase,google-cloud-functions,Javascript,Node.js,Firebase,Google Cloud Functions,我发现错误Each then()应该返回一个值或在我的firebase函数中抛出,在这里我已经把我的全部代码都放进去了,有人能帮我解决这个问题吗 exports.test_groups_list = functions.https.onRequest((req, res) => { api.call('Get', { typeName: 'Group', resultsLimit: 100 }) .then(result => { re

我发现错误
Each then()应该返回一个值或在我的firebase函数中抛出
,在这里我已经把我的全部代码都放进去了,有人能帮我解决这个问题吗

exports.test_groups_list = functions.https.onRequest((req, res) => {
    api.call('Get', { typeName: 'Group', resultsLimit: 100 })
        .then(result => {
            res.set({ 'Access-Control-Allow-Origin': '*' }).send(result)
        })
        .catch(error => {
            res.set({ 'Access-Control-Allow-Origin': '*' }).send(error)
        });
});

您的api调用
然后
返回一个
promise
包装值,因此您必须首先返回
承诺
然后在下一部分返回
响应

exports.test_groups_list = functions.https.onRequest((req, res) => {


     let _result= api.call('Get', { typeName: 'Group', resultsLimit: 100 })
            .then(result => {
                return result
            })
            .catch(error => {
                return error
            });

      _result.then(data=>{
          res.set({ 'Access-Control-Allow-Origin': '*' }).send(data)

       })     

    });

您的HTTPS云功能代码确实遵循了规则/建议,如或官方文件中所示

错误消息来自这样一个事实:
eslint
检测到您有一个
then()
处理程序,该处理程序可以在不返回值或抛出错误的情况下完成

您可以在返回响应后返回
null
,如下所示:

exports.test_groups_list = functions.https.onRequest((req, res) => {
    api.call('Get', { typeName: 'Group', resultsLimit: 100 })
        .then(result => {
            res.set({ 'Access-Control-Allow-Origin': '*' }).send(result)
            return null
        })
        .catch(error => {
            res.set({ 'Access-Control-Allow-Origin': '*' }).send(error)
            return null
        });
});

这将导致_result.then(data=>{line)的相同错误