仅当另一个函数已在纯JavaScript中完成时触发函数?
仅当另一个函数完成时,如何才能触发该函数 在我的实际用例中,我需要一个接一个地触发这三个函数:仅当另一个函数已在纯JavaScript中完成时触发函数?,javascript,function,Javascript,Function,仅当另一个函数完成时,如何才能触发该函数 在我的实际用例中,我需要一个接一个地触发这三个函数: dLoad(); masonry(); stylefix(); 如果您的函数是同步的,那么它已经按照您编写的方式完成了。如果它们不是(或其中一些不是),您可以将它们分组到一个异步函数下,并等待异步函数,如下所示: async function func(){ await dLoad(); // async function masonry(); // synchronous function
dLoad();
masonry();
stylefix();
如果您的函数是同步的,那么它已经按照您编写的方式完成了。如果它们不是(或其中一些不是),您可以将它们分组到一个异步函数下,并等待异步函数,如下所示:
async function func(){
await dLoad(); // async function
masonry(); // synchronous function
await stylefix(); // async function
}
另一种可能的情况是,您的函数是同步的,但其中包含一些异步操作,例如,让我们假设massy()
可以做到这一点。在这种情况下,会发生以下情况:
dLoad>Mashine(无异步操作)>stylefix>msonry的异步操作
您可以这样做,因为这是您编写时对“函数已完成”的定义-您可能不需要完成此异步操作,就可以将massy
定义为“完成”,并继续执行stylefix
但是,如果确实需要在
massy
中完成所有异步操作,则还需要将其转换为异步函数,并等待该函数中的异步操作。如果您不明确地返回承诺,您就不必在外面等待它,但这样做会更具可读性,更明显,这是一个异步函数。如果函数是synchronous@RE666你能补充这3个函数的更多细节吗?它们是同步的吗?异步?异步函数总是返回一个promisewell我在回答中假设了这个基本的JS知识。。我来澄清一下