我不明白为什么当我从ClientScript方法调用ServerScript方法时,得到的值是undefined。
ClientScript:
function clientScript() {
var message;
message = google.script.run.test();
console.log("Message: " + message);
}
ServerScript:
function serverScript() {
return "hello";
}
我希望控制台能够打印:消息:您好。但是,我将其打印到控制台:消息:未定义。当我在ServerScript方法中返回定义的值时,为什么在ClientScript方法中获得未定义的值?谢谢!
答案 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