gpt4 book ai didi

javascript - 这是避免旧版本 Node 中的回调 hell 的可接受方法吗?

转载 作者:行者123 更新时间:2023-12-03 00:55:11 26 4
gpt4 key购买 nike

没有 promise ,没有异步等我想知道这种模式是否可以接受 - 我的函数被调用并且我传递了一个回调。在回调之前我需要做两件事:

function doSomething(..args.., callbackThatNeeds1And2DoneFirst){

var done1 = false;
var res1 = someAsync1(function call1callback(){
//blah
done1 = true;

maybeComplete();
});

var done2 = false;
var res2 = someAsync2(function call2callback(){
//blah
done2 = true;

maybeComplete();
});

function maybeComplete(){
if(done1 && done2){
callbackThatNeeds1And2DoneFirst();
}
}

}

我想问题是关于变量范围 - 多个“并发”执行是否会干扰彼此的done1和done2值,或者每个调用都有自己的变量范围?

最佳答案

是的,这个模式很好。它基本上完成了 Promise.all 现在所做的事情,只不过它只适用于两个异步回调,而不是可变数量。

Can multiple "concurrent" executions interfere with each other's values for done1 and done2, or does each call get its own variable scope?

每次调用 doSomething 都会创建一个包含新 done1done2 变量的新作用域。

关于javascript - 这是避免旧版本 Node 中的回调 hell 的可接受方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52869870/

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