Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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 Main函数一个接一个地调用其他函数_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript Main函数一个接一个地调用其他函数

Javascript Main函数一个接一个地调用其他函数,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,正如标题所示,我想构建一个函数,一个接一个地调用其他函数。不幸的是,函数需要不同的时间长度,执行时出现问题是可以理解的 这个问题有简单的解决方案吗? function allInOne() { loadData(); moveSheet(); sortStockData(); } 在第一个功能完成之前,第二个功能已经执行。但这一切都应该一个接一个地完成。我刚被谷歌等网站卡住了 提前感谢。查看函数内部,因为它们可能会返回承诺 正常的Javascript是单线程的,所以当您调用一个函数

正如标题所示,我想构建一个函数,一个接一个地调用其他函数。不幸的是,函数需要不同的时间长度,执行时出现问题是可以理解的

这个问题有简单的解决方案吗?

function allInOne() {
  loadData();
  moveSheet();
  sortStockData();
}
在第一个功能完成之前,第二个功能已经执行。但这一切都应该一个接一个地完成。我刚被谷歌等网站卡住了

提前感谢。

查看函数内部,因为它们可能会返回承诺 正常的Javascript是单线程的,所以当您调用一个函数,然后调用另一个函数,然后再调用另一个函数时(就像您所做的那样),您可以期望它们按顺序运行

但是,您可能会发现loadData()是一个异步函数,返回一个
Promise
。查看它的
return
语句来检查这一点

如果它是在回报一个承诺,你可以说

loadData().then(result => moveSheet())
如果
moveSheet
也返回承诺,则可以按如下方式展开链:

loadData().then(result => moveSheet()).then(result => sortStockData())
另一种表达方式是使用'await'关键字 这里有更多关于承诺的信息


您应该尝试jakub提供的此解决方案,看看它是否有助于按顺序结束函数
async function x(){
  await loadData();
  await moveSheet();
  sortStockData();
}