大家好我有这样一个问题,我有2个异步功能。我只想在第一次完全结束后,运行第二次。这就是我试图做的:
null
run2functions = async () => {
await firstFunc();
await secondFunc();
};
firstFunc = () => {
console.log("first one");
//Api code for information from any server
}
secondFunc = () => {
console.log("second one");
//Api code for information from any server
}
run2functions();
null
但它并不总是起作用的,有时第二个函数的代码运行在第一个函数的代码之前,我不确定为什么,我用await强制第二个只在第一个结束之后。
我现在只想让第一个函数结束来激活第二个函数。
Async/Await仅适用于返回promise
的函数。所以您的代码应该是这样的:
const run2functions = async () => {
await firstFunc();
await secondFunc();
};
const firstFunc = () => {
return new Promise((res) => {
// your async code here
console.log("first one");
resolve(res);
});
};
const secondFunc = () => {
return new Promise((res) => {
// your async code here
console.log("second one");
resolve(res);
});
};
await run2functions();
额外资源
问题内容: 我有2个差异函数中的2个ajax调用。我想使用.click调用这两个函数。func1将数据插入到数据库中,然后func2将检索数据,所以我的问题是如何等到func1完全完成后才执行func2。 我尝试了.delay(),它可以工作,但是我认为这是一个愚蠢的解决方案。 问题答案: 三种方式: 成功调用func1时调用func2: 时髦完成后,使用API调用func2: 使func1同步(
问题内容: 我有一个JavaScript函数,该函数使用jQuery发出两个连续的Ajax请求。我想确保在调用第二个函数之前已加载第一个请求。有办法吗? 问题答案: 在选项中指定,或在第一个调用的回调中进行第二个ajax 调用。
问题内容: 总的来说,我对Swift和Xcode还是比较陌生,并且发现很多困难要设法解决。 我正在开发一个利用后端服务器的应用程序。为了不阻塞主线程,每当应用程序从服务器下载任何内容时,它都会异步地在其他线程上完成。但是,其余代码将继续在主线程上执行,并且当应该从服务器下载的数据尚未下载时,它将崩溃。我想知道如何在异步函数完成后调用函数来运行,这对于单独文件中的函数必须完成。 我读过闭包可能对此有
我想一个接一个地运行两个工作。是的,我确实在网上搜索过,但他们有解决方案,包括在第一份工作中增加第二份工作。但我有不同的要求。我会在第一批作业执行完成后得到一个通知,而第二批作业只有在收到这个通知后才会运行。是否有可能在Spring Boot中一个接一个地运行两个作业。请救命!
问题内容: 我正在一个有几个无法更改的脚本的项目中。这些脚本通过AJAX更新页面。更新完成后,我需要运行一些代码。 XMLHttpRequest完成时是否会触发任何事件?(或任何XMLHttpRequest状态更改?)。 不幸的是,我无法访问用于发出请求的特定XMLHttpRequest对象。 谢谢, 问题答案: 如果没有jQuery,则可以挂钩该方法以在XHR对象被编辑时为每个XHR对象的事件附
我已经创建了3个任务。Task3取决于Task1和Task2的结果。在调试代码时,它会正确执行,但在运行应用程序时,Task3会在Task1和Task2完成之前执行。 示例代码: 提前谢谢。