Метод getData () в некоторых случаях не вызывается - PullRequest
0 голосов
/ 14 декабря 2018

Я создал соединитель, который выбирает CSV из API и отображает данные в таблице.Он работает очень хорошо почти во всех случаях.

Но по неизвестной причине метод getData не вызывается, когда я хочу отобразить некоторые столбцы.Я использую Utilities.parseCsv, поэтому я не думаю, что он исходит от CSV, так как он работает с другими столбцами.Столбцы, которые не работают, похоже, хорошо отформатированы ...

Метод getData ():

function getData(request) {
  console.log(request);
  var indexes = [];

  try {        
    // Fetch the CSV and return the schema and the CSV as a string
    var response = connectAndParse(request)

    // Find the columns to display
    var requestedSchema = request.fields.map(function (field) {
      for (var i = 0; i < response.schema.length; i++) {
       if (response.schema[i].name == field.name) {
          indexes.push(i);
          return response.schema[i];
        }
      }
    });

    // Build the data to display
    var rows = [];    
    response.csv.forEach(function(row, i){
      var splittedRow = Utilities.parseCsv(row)[0];

      if (!splittedRow || splittedRow.length !== response.schema.length) {return;}

      var contentRow = indexes.map(function (index) {
         return splittedRow[index];
      });

      if (contentRow && parseInt(contentRow.length) > 0) {
        rows.push({values: contentRow});
      }
    });

    return {
      schema: requestedSchema,
      rows: rows
    };

  } catch(error) {
    console.log(error);
  } 
}

Я думаю, что метод не вызывается, потому что первый console.logне отображается в журнале StackDriver, но, возможно, я что-то упустил ...

...