gpt4 book ai didi

javascript - JS 回调栈

转载 作者:行者123 更新时间:2023-11-28 03:19:02 25 4
gpt4 key购买 nike

如果我有一个由 n 个函数组成的数组,它们都接受回调,那么如何创建一个队列/堆栈系统,其中数组中的第一个函数调用其回调中的下一个函数?

到目前为止我的工作..我被堆栈的逻辑困住了。

function foo(callback){
if(callback){
console.log("calling callback")
callback();
}
}

let queue = [foo, foo, foo];

let stack = [];
let i = 0;


// should be equivalent to
foo(foo.bind(null, foo.bind(null, foo)));

最佳答案

我不确定这是否是最好的方法,但可以使用一个简单的 for 循环来完成,该循环运行小于数组大小的 1 次迭代。

function foo(callback){
if(callback){
console.log("calling callback")
callback();
}
}

let queue = [foo, foo, foo];
for(let i=0; i<queue.length-1; i++){
queue[i](queue[i+1]);
}

关于javascript - JS 回调栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59362323/

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