在Google App Maker中调用这些脚本时,为什么会得到未定义的值?

时间:2018-06-19 20:42:01

标签: google-apps-script google-app-maker

我不明白为什么当我从ClientScript方法调用ServerScript方法时,得到的值是undefined。

ClientScript:

    function clientScript() {
      var message;
      message = google.script.run.test();
      console.log("Message: " + message);
    }

ServerScript:

    function serverScript() {
       return "hello";
    }

我希望控制台能够打印:消息:您好。但是,我将其打印到控制台:消息:未定义。当我在ServerScript方法中返回定义的值时,为什么在ClientScript方法中获得未定义的值?谢谢!

1 个答案:

答案 0 :(得分:3)

因为服务器调用是异步的。为了处理服务器响应,您需要传递回调。这是Apps Script docs的摘录:

function onSuccess(numUnread) {
  console.log(numUnread);
}

google.script.run.withSuccessHandler(onSuccess)
    .getUnreadEmails();

以防万一AM会解释同一件事-https://developers.google.com/appmaker/scripting/client#call_a_server_script