как получить значения двух массивов для одного и того же html javascript - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть две функции в скрипте приложений Google

code.gs:

function getdata1(e) {
// works..
return array_1;
}

function getdata2(e) {
// works..
return array_2;
}

index. html:

function getData1(e) {
  google.script.run.withSuccessHandler(dispData1).getData1(e);    
}
function dispData1(array_1) {
// here i can acces the value of array_1.
// NOW i need to access the values of array_2 from the other function (getData2)
}

спасибо за любую помощь

Ответы [ 2 ]

1 голос
/ 29 февраля 2020

Чтобы запустить обе функции одновременно, используйте promise.all:

const gsr = func =>
  new Promise(res => google.script.run.withSuccessHandler(res)[func]());

Promise.all(['getdata1', 'getdata2'].map(f => gsr(f))).then(
  ([arr1, arr2]) => {
    console.log({ arr1, arr2 });
  }
);
0 голосов
/ 28 февраля 2020

Добавьте промежуточную функцию getAllData ()

//.gs file
function getAllData(){
  var arr1 = getdata1();
  var arr2 = getdata2();
  return {
    array_1: arr1,
    array_2: arr2
  }
}

и затем вызовите getAllData из вашего html

//.html file
function getAllData(e) {
  google.script.run.withSuccessHandler(dispData).getAllData(e);    
}

function dispData(response) {
 var array_1 = response.array_1
 var array_2 = response.array_2
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...