Неизвестное значение 'json' (при развертывании функции JavaScript) - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь развернуть функцию Firebase (уведомление для приложения), которая получает значение со стороннего веб-сайта. Но когда я вызываю json, он говорит, что это значение не существует в журналах ошибок. Есть ли очевидное решение для этого?

Последующее редактирование: Как получить данные в методе выборки, которые будут отображаться в заголовке?

 const url = new URL(
        "test.com"
    );
    let params = {
        "value": "title",
    };
    Object.keys(params)
        .forEach(key => url.searchParams.append(key, params[key]));

    fetch(url, {
        method: 'GET',
      })
      //This is where you usually would log the data .then(json => console.log(json));

      const payload = {
              notification: {
              title: json,
              body:  'The current events for today have been updated.',
              badge: '0',
              sound: 'default',
          }
      };

Ответы [ 2 ]

1 голос
/ 16 марта 2020

Если я понимаю, что вы на самом деле хотите сделать, вам не хватает метода .then() запроса fetch. Что-то вроде:

fetch(url, {
    method: 'GET'    // You also had a wrong comma here
}).then(json => {
    // In here, json will contain the response from the fetch,
    // so you can use it however you prefer

    const payload = {
        notification: {
        title: json,
        body:  'The current events for today have been updated.',
        badge: '0',
        sound: 'default',
    }

    // do anything else

});
0 голосов
/ 16 марта 2020

Вам следует обновить переменную payload. Нет переменной с именем json в качестве значения title. Ваш payload должен быть

const payload = {
      notification: {
      title: 'json', // <-- mark here
      body:  'The current events for today have been updated.',
      badge: '0',
      sound: 'default',
   }
};

Обновление: Я неправильно понял вопрос. Я думаю, что вы хотите что-то вроде этого -

    const url = new URL(
            "test.com"
        );
        let params = {
            "value": "title",
        };
        Object.keys(params)
            .forEach(key => url.searchParams.append(key, params[key]));

        const payload = {
                  notification: {
                  title: '',
                  body:  'The current events for today have been updated.',
                  badge: '0',
                  sound: 'default',
              }
          };

        fetch(url, {
            method: 'GET',
        }).then(res => res.json())
          .then(data => {
               payload.title = data.title; // Or something like that.
          });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...