我在funcs.gs中的Google脚本中有一个函数,它正在返回一个对象。根据用户输入的内容,对象会返回并显示一些结果。但我想更进一步,用这些结果来决定是否会出现错误消息。我无计可施,因此我有理由在这里提出要求。
function data(num){
if (condition met){
let Obj = {thing1:value1, thing2: value2}
return prjObj;
//Obj works perfectly fine
}else{
let Obj = {thing1: value3, thing2: value4};
return Obj;
//this also works fine
}//end of if statement
}//end of getData function
现在我在HTML文件中使用了一个函数(使用了jQuery,但不需要(
$(function redbox(){
let repeater = setTimeout(redbox, 5000);
let redbox1 ={}
redbox1.hidebox = document.getElementById("something").hidden = true;
redbox1.unhidebox = document.getElementById("something").hidden = false;
//i tried this and just tried to put redbox1.unhidebox under the return statement but it does not work
//google.script.run.Data(redbox1 )
console.log(google.script.run.data());
})
即使使用num作为参数,我也不知道为什么数据函数返回undefined。目标是在调用else语句时将隐藏元素设置为false。我使用rexbox1作为对象,因为这将允许我将其作为数据函数中的参数传递,但它没有显示。
方法google.script.run.myFunction((将返回文档中描述的void
:
此方法是异步的,不直接返回;但是,服务器端函数可以向客户端返回一个值,作为传递给成功处理程序的参数
因此,要检索函数返回的内容,必须将其与方法google.script.run.withSuccessHandler((一起使用,如下所示:
function redbox(returnedValue) {
console.log(returnedValue);
}
google.script.run.withSuccessHandler(redbox).data(num);
如果应用程序脚本函数没有错误,则从应用程序脚本功能返回的值将传递给HTML JavaScript脚本中所需的函数。
试着这样写:
扔掉所有其他垃圾。
javascript:
function getData() {
google.script.run
.withSuccessHandler(function(obj){
console.log(obj.foo);
})
.data()
}
gs:
function data() {
return {foo:bar}
}