我是一名Java开发人员,同时学习JavaScript和Google Apps Script。作为一个新手,我只是学习了JavaScript的语法,而不是它的实际工作原理,并且我很高兴地在Google Apps Script中进行了顺序同步编码,就像在Java中一样。我的所有代码都类似于以下内容:(为了说明我的意思而大大简化)
function doStuff() {
var url = 'https://myCompany/api/query?term<term&search';
var json = getJsonFromAPI(url);
Logger.log(json);
}
function getJsonFromAPI(url) {
var response = UrlFetchApp.fetch(url);
var json = JSON.parse(response);
return json;
}
它能正常工作!如果我没有不断学习JavaScript,我会说它像钟表一样准确无误地运行。但JavaScript并不是一个机械式的装置,它异步性地处理任务。据我所知,这不应该起作用,代码"编译"后,记录json
变量应该记录undefined,但却可以记录JSON而没有问题。
注意:
该代码是在Google Sheet的脚本编辑器中编写和执行的。
为什么呢?