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