带有调用函数且没有 return 值的标签文本绑定

Label text binding with call function and no return value

我在通过调用函数(客户端脚本)修改标签文本时遇到问题,该函数调用具有 return 值的函数(服务器端)。

A console.info(return 值)显示正确的值,但标签文本为空。 即使像这样制作 return ==> return "Test",它也不起作用。

这是我为调试目的而创建的函数:

客户端脚本:

function onSuccess(value) {
  console.info("debug : " + value); // <== this works !
}

function TestFunction(value) {
  // Call server side functions
  google.script.run.withSuccessHandler(onSuccess).test("any value");

}

服务器脚本:

function test(arg) {
    return "This a return value";
}

在标签文本中绑定:

TestFunction("test")

你有什么想法吗?我做错了什么?

编辑:正如 Chris 所问,这里是导出应用程序 zip 的 link:https://drive.google.com/file/d/1LEcEYtv0guC_ELicE9vFrY8AygJeVqWP/view?usp=sharing

问题是您试图直接从服务器脚本获取值。如您所见,控制台日志正在运行,因为您在 onSuccess 函数上将值传递给客户端。

您需要做的是将小部件传递给 TestFunction 并且 onSuccess 函数应该进入测试函数。考虑以下示例:

客户端脚本:

function TestFunction(widget, value) {

  function onSuccess(value) {
    console.info("debug : " + value);
    widget.text = value;
  }

  // Call server side functions
  google.script.run.withSuccessHandler(onSuccess).test(value);

}

服务器脚本:

function test(arg) {
    return arg;
}

在标签文本中绑定:

TestFunction(@widget, "This is what I want")

希望对您有所帮助!