получение ошибки Каждый then () должен возвращать значение или бросать в мою функцию firebase - PullRequest
1 голос
/ 09 мая 2020

Я получаю сообщение об ошибке Each then() should return a value or throw в моей функции 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)
        });
});

Ответы [ 2 ]

1 голос
/ 09 мая 2020

Ваш код облачной функции HTTPS соответствует правилам / рекомендациям, представленным в документации или в официальном видео .

Сообщение об ошибке приходит из тот факт, что eslint обнаруживает, что у вас есть обработчик then(), который может завершить sh без возврата значения или выдачи ошибки.

Вы можете вернуть 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
        });
});
1 голос
/ 09 мая 2020

Ваш вызов api then возвращает значение promise, обернутое, поэтому вам нужно сначала вернуть promise, а затем в следующей части вернуть response.

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)

       })     

    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...