gpt4 book ai didi

javascript - 在另一个函数之前执行一个函数(包含 setInterval)的简单方法

转载 作者:行者123 更新时间:2023-11-30 13:50:29 25 4
gpt4 key购买 nike

我有三个函数,我想一个接一个地执行。我的三个函数是 A_rray()Counter()Main_Function(N,A),我有 Main_Function(N ,A) 基于 A_rray(),一旦该部分被执行,那么我想等待 Counter() 如下-

        if (A_rray().length!=0){
Main_Function(500,A_rray());
}
else{console.log('Number = ',A_rray().length)}
Counter();

函数是-

function A_rray(){ D=[1,2];return D;}  
function Counter(){console.log('Done!');}
function Main_Function(N,A){
var counter = 0;
var interval = setInterval(function() {
counter++;
if (counter === A.length) {
clearInterval(interval);
}
console.log(counter, 'iteration')
}, N) }

但问题是,Counter()函数先执行,然后是条件和其他部分,这可能是因为setInterval

我尝试了一些写在 Stack Overflow 上的方法,但由于我是初学者,所以这些方法都不起作用。

有没有一种简单的方法来执行第一个基于Array()的函数Main_Function(N,A),然后执行Counter() 高效?

最佳答案

一种更简单的方法是编辑您的 MAIN_FUNCTION,以便您从那里调用 Counter

function MAIN_FUNCTION(N,A) {
var counter = 0;
var interval = setInterval(function() {
counter++;
console.log(counter, 'iteration');
if (counter === A.length) {
clearInterval(interval);
Counter();
}
}, N);
}

然后从执行位中去掉另一个Counter调用

这将确保 Counter 仅在 interval 的最后一次迭代之后运行

一些注意事项:

  • 看到 Counter 只记录日志,您可以简单地将调用替换为日志调用
  • 调用函数 Array 会覆盖 javascript 的默认函数,该函数是 Array 类的构造函数

关于javascript - 在另一个函数之前执行一个函数(包含 setInterval)的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58356716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com