Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript GAS将后端脚本与页面加载同步_Javascript_Google Apps Script_Settimeout - Fatal编程技术网

Javascript GAS将后端脚本与页面加载同步

Javascript GAS将后端脚本与页面加载同步,javascript,google-apps-script,settimeout,Javascript,Google Apps Script,Settimeout,在我的html代码中,我调用一个脚本来编辑google表单,然后加载该表单。我的问题是,在脚本完成更新之前加载网页 google.script.run.changeForm(); window.top.location.href='0https://docs.google.com/forms/d/e/ABCDpQLSdV2e61UFkG-_LcVBRpWe9F1MizNJ-P5JUCUGRlWiFSoImPkA/viewform'; 我的临时修复方法是setTimeout(),但这感觉像是一

在我的html代码中,我调用一个脚本来编辑google表单,然后加载该表单。我的问题是,在脚本完成更新之前加载网页


google.script.run.changeForm();
window.top.location.href='0https://docs.google.com/forms/d/e/ABCDpQLSdV2e61UFkG-_LcVBRpWe9F1MizNJ-P5JUCUGRlWiFSoImPkA/viewform';
我的临时修复方法是setTimeout(),但这感觉像是一个肮脏的小把戏


google.script.run.changeForm();
setTimeout(函数(){
window.top.location.href='0https://docs.google.com/forms/d/e/ABCDpQLSdV2e61UFkG-_LcVBRpWe9F1MizNJ-P5JUCUGRlWiFSoImPkA/viewform';
}, 2000);
有更好的方法解决这个问题吗?

你应该试试

google.script.run.withSuccessHandler(success).changeForm();
function success(){
window.top.location.href='https://docs.google.com/forms/d/e/ABCDpQLSdV2e61UFkG-_LcVBRpWe9F1MizNJ-P5JUCUGRlWiFSoImPkA/viewform';
}
withSuccessHandler(success)
在函数
changeForm()
完成其执行后运行参数中的函数

google.script.run.withSuccessHandler(success).changeForm();
function success(){
window.top.location.href='https://docs.google.com/forms/d/e/ABCDpQLSdV2e61UFkG-_LcVBRpWe9F1MizNJ-P5JUCUGRlWiFSoImPkA/viewform';
}

withSuccessHandler(success)
在函数
changeForm()
完成其执行后,在参数中运行该函数。谢谢工作起来很有魅力。谢谢