wolf47
@wolf47
Айтишник, немного програмирую на JS

Как вызвать две функции последовательно?

Друзья, добрый день!

В последнее время моя функция замены ID, начала возвращать undefined. Не пойму никак из-за чего этого.

Плюс, не нравится эта функция:
Функция в библиотеке которая меняет значения в ячейках Google таблицы
function tryChangeVID(f,r, db, table, col) {
  var sheet = db.getSheetByName(table);
  var range = sheet.getRange(col);
  var values = range.getValues();
  f = Number(f);
  r = Number(r);
  
  var res = f;
  
  for (var i = 0; i < values.length; i++) {
    if (values[i][0] === f) {
      values[i][0] = r;
      res = r;
    }
  }
  
  range.setValues(values);
  
  return res;
}

Мне нужно поменять ИД в двух таблицах. Коровы и их телята

exports.changeVID = function(find, repl, db){
  var result = tryChangeVID(find, repl,db,"Animals", "A:A");
  
  if(result === repl){
    result = tryChangeVID(find, repl, db, "Calves", "C:C");
  }
  
  return result;
}


Проблема заключается в том что при вызовы функции changeVID , не срабатывает функция замeны для второй таблицы (calves). То есть if(result === repl) не является истинной.

Как можно правильно запустить эти две функции последовательно, потом в результате вернуть клиенту новый ИД ?
  • Вопрос задан
  • 151 просмотр
Решения вопроса 1
Условие не выполнится, если в первом вызове, в первой таблице, не произошло ни одной замены.

Логика – как написали, так и выполняется. Верно отметил в комментарии Михаил: убрите if(result === repl)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы