【发布时间】:2021-02-16 10:00:58
【问题描述】:
我有一个函数 f1(valueOfData) 正在执行,我可以从外部数据源中提取数据。此外,我还有另一个函数f2(),它有一个 if 循环,并在调用第三个函数之前验证该值是否已被提取。
在尝试了很多之后,我陷入了这样一种情况,即在 f1(valueOfData) 的执行完成之前调用第二个函数(数据验证函数)并提取数据(需要几分钟)。
我知道 Javascript 是事件驱动的,因此尝试使用第二个函数(验证函数)作为回调,但是我仍然无法实现它。此外,我无法使用window.setTimeOut(millis),因为我需要计算从数据库中检索数据所需的确切时间(使用performance.now())。
function call(){
doc1.validateFilterColumn("columnName");
}
function a(callBack){
doc1.applyFilter('1-7');
callBack();
}
a(call);
有人可以帮我建议如何在执行第二个函数之前等待第一个函数完全完成。
【问题讨论】:
-
哪个函数是“第一”,哪个是“第二”?
-
我有点不清楚你的代码中哪个函数是
f1,哪个是f2?你指的是applyFilter()f1方法和validateFilterColumnf2函数吗? -
请展示你的真实代码,因为这很可能与异步任务有关。
-
函数是: 1) 第一个函数是 doc1.applybookmark(value):这是一个异步函数,它调用从其中获取数据的 API。我创建了调用这个 api 的函数 f1()。 2)第二个函数是值的验证函数。
标签: javascript dom-events javascript-objects