为什么Javascript google docs应用程序脚本try语句只运行一条语句
为什么在示例1中执行控制台日志,而在示例2中不执行为什么Javascript google docs应用程序脚本try语句只运行一条语句,javascript,google-apps-script,Javascript,Google Apps Script,为什么在示例1中执行控制台日志,而在示例2中不执行 //Example 1 try { console.log("Trying to connect"); google.script.run .withSuccessHandler( function(response) { console.log(response); }) .sendText(data); } catch { console.log("No
//Example 1
try {
console.log("Trying to connect");
google.script.run
.withSuccessHandler( function(response) {
console.log(response);
})
.sendText(data);
} catch {
console.log("No connection");
}
提前感谢我想您的问题是关于试图连接消息的
当try
块中发生错误时,该块中的其余代码将被跳过,并转到catch
块
在这两个示例中,您在google.script.run()
中都遇到了一个错误。在示例1中,您在错误之前记录消息,因此显示日志消息,然后它进入catch
块。在示例2中,您在记录消息之前收到错误,因此它直接进入catch
块并跳过console.log(“尝试连接”)代码>行。哪个控制台.log
?不清楚。对不起,伙计没看到有人在这里写了什么。从外面看,这条线索/主题似乎不可能看到这样的回答。是的,这确实是我的问题。t即使消息在错误之后出现,消息也不会被阻塞。感谢您的回答和快速回答。google.script.run
是一种异步客户机-服务器通信。这里的示例代码将忽略服务器函数中的任何错误。您认为它为什么会抛出错误?@tehhowch如果它没有抛出错误,则会执行console.log()
。如果它没有连接,可能会同步抛出一个错误。在这个特殊的情况下,它会出现错误,因为我在家里运行google api之外的网页来测试网页本身,而不是javascript,并且我注意到没有打印消息。我试着把信息放在google命令之前,然后打印出来。
//Example 2
try {
google.script.run
.withSuccessHandler( function(response) {
console.log(response);
})
.sendText(data);
console.log("Trying to connect");
} catch {
console.log("No connection");
}