在HtmlService docs async sample code ...
中在页面加载后,参数things
如何传递到函数showThings(things)
?
按原样运行,html列表就会被清空。
在我的Code.gs中,我添加了...
function getLotsOfThings() {
return [1,2,3];
}
但它没有传递或存储结果,因此showThings()
可以使用它。
答案 0 :(得分:1)
内置的google.script.run
为我们做了这件事。
您可以认为Apps脚本平台正常获取服务器端函数JSON.stringify
的返回值,然后在客户端获取JSON.parse
。由于withSuccessHandler
接收到返回函数,因此运行它并传递参数很容易。作为shown by Frits。
以下是withSuccessHandler
documentation所说的内容:
因为客户端代码没有等待就继续到下一行 要完成服务器调用,google.script API允许您 指定在服务器响应时运行的另一个客户端函数。 如果服务器函数返回值,则API将值传递给 新函数作为参数。
顺便说一下,代码示例对我来说效果很好。你有什么问题吗?这是我使用的代码(加上示例确切的html文件,我称之为“页面”):
function doGet() {
return HtmlService.createHtmlOutputFromFile('page');
}
function getLotsOfThings() {
return [1,2,3];
}
答案 1 :(得分:0)
我认为这可能是个错误。
它仍然可以工作,请看这个例子:
function foo(arg) {
console.log(arg);
}
function run(callback) {
callback("bar");
}
run(foo); // "bar"
从代码中可以看出things
的价值是什么,或者来自何处。