我有一个函数,该函数返回Code.GS文件中的对象数组,该数组要传递到index.html
文件中的变量中以在JavaScript中使用。但是由于某种原因,该变量未更新,在我看来onSuccess
函数未在运行。
Code.gs文件
function getData(){
var dates = [{
title : 'obj',
time : '2018-07-13T',
color: '#C2185B'
},
{
title : 'obj2',
start : '2018-07-19',
end : '2018-07-20',
},
];
return dates;
}
index.html文件:
<script>
var dates;
function onSuccess(array) {
dates = array;
}
google.script.run.withSuccessHandler(onSuccess).getData();
<!-- code that requires dates array-->
</script>
答案 0 :(得分:0)
所有google.script.run
调用都是异步的,这意味着该功能需要花费一些时间才能从Apps Script服务器获取响应。同时,需要使用dates数组的代码是同步的,并且在dates变量更新之前就已执行。因此,需要dates数组的代码可能应该存在于onSuccess
处理程序中。
如果您真的想花哨的话,甚至可以利用Promises来使您的代码同时异步和顺序可读。