Main函数依次调用其他函数



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

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

function allInOne() {
loadData();
moveSheet();
sortStockData();
}

在第一个函数完成之前,第二个函数已经执行了。但应该一个接一个地做。我只是被谷歌等卡住了。

提前感谢。

查看函数内部,因为它们可能返回承诺

正常的Javascript是单线程的,所以当你调用一个函数,然后另一个函数和另一个函数时(就像你做的那样),你可以期望它们按顺序运行。

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

如果它返回一个promise,你可以说,

loadData().then(result => moveSheet())

如果moveSheet也返回一个promise,可以按如下方式展开链:

loadData().then(result => moveSheet()).then(result => sortStockData())

另一种表达方式是使用'await'关键字

async function x(){
await loadData();
await moveSheet();
sortStockData();
}

更多关于Promises的信息在这里。

https://medium.com/javascript-scene/master-the-javascript-interview-what-is-a-promise-27fc71e77261

相关内容

最新更新