Облачная функция сработала, но не выполнена - PullRequest
0 голосов
/ 13 июня 2018

У меня есть следующая функция:

exports.onDataAdded = functions.database.ref('/Lager/Shafts/Rescue/582/582001').onWrite((change, context) => {
    if (change.before.exists()) {
            return null;
          }
          // Exit when the data is deleted.
          if (!change.after.exists()) {
            return null;
          }
          const original = change.after.val();

return change.after.ref('/Lager/Shafts/Rescue/583/583001').set(original);
});

Я пытаюсь сохранить количество продуктов 1 равным количеству продуктов 2 (по нескольким причинам не могу поместить его в один и тот же идентификатор).Он выполняет функцию и говорит, что статус в порядке, но не обновляет новое значение продукта 2. Чего мне не хватает?

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Это похоже на noop:

exports.onDataAdded = functions.database.ref('/Lager/Shafts/Rescue/582/582001').onWrite((change, context) => {
  if (change.before.exists()) {
    return null;
  }

Или, точнее: он пропустит этот код только при удалении /Lager/Shafts/Rescue/582/582001, а это не то, что вы, похоже, пытаетесь.Я думаю, что вы имели в виду обратное в вашем чеке:

  if (!change.before.exists()) {
    return null;
  }
0 голосов
/ 13 июня 2018

Пожалуйста, попробуйте это, ваша функция выходит без выполнения обновления.

exports.onDataAdded = functions.database.ref('/Lager/Shafts/Rescue/582/582001').onWrite((change, context) => {
    if (change.after.exists()) {
        const original = change.after.val();
        return admin.database().ref('/Lager/Shafts/Rescue/583/583001').set(original);
    }
    // Exit when the data is deleted.
    if (!change.after.exists()) {
        return null;
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...