javascript - google side bar - 是侧边栏调用之间共享的 js 服务器端全局变量
问题描述
考虑侧栏简单的服务器端脚本。
const publicArr = [];
function doWait2(ms){
var start = new Date().getTime();
var end = start;
while(end < start + ms) {
end = new Date().getTime();
}
}
function getfirstCall(){
publicArr.push("Item1");
doWait2(10000);
return publicArr;
}
function getsecondCall(){
publicArr.push("Item2");
return publicArr;
}
当一个接一个地调用时getfirstCall
,getsecondCall
每个函数返回一个单项数组(分别为Item1 / Item2)。客户端执行时不会反映getfirstCall
to所做的更改。publicArr
getsecondCall
请注意,getfirstCall
在返回允许getsecondCall
由服务器同时处理之前等待 10 秒。不确定它是否重要。
这是保证吗?每个客户端调用都有自己的公共变量实例?
猜猜这对于 Web 开发来说是非常基础的,而不仅仅是侧边栏
解决方案
在 Apps 脚本中,全局变量在脚本执行中不是唯一的,您应该考虑使用PropertiesService将您的publicArr
作为脚本属性存储,所有用户都可以检索。如果您担心并发执行,也许还有LockService 。
请参阅以下答案以获取指针:
推荐阅读
- javascript - Trying to make a super simple clicker game but im getting NaN instead of numbers
- python - pandas: How to search by a list of values and return in the same order?
- c - 打印菜单功能选择后继续打印
- java - 如何在 bat 文件的帮助下从 java 程序启动/停止 tomcat 服务?
- python - 如果我启动一个烧瓶应用程序,它显示两个进程正在运行
- angular - How can I use ViewChildren to get multiple native elements using template variables?
- c++ - C++ Armadillo: arrays of indices from 2D-matrix
- linux - 如何验证传递的参数、值和参数之间的依赖关系?
- java - Error creating bean with name 'entityManagerFactory'; nested exception is HibernateException: Missing table
- postgresql - Concatenating to a positional parameter in Postgres