Javascript 简化嵌套回调
我使用Javascript 简化嵌套回调,javascript,callback,Javascript,Callback,我使用callback1从func1获取结果的代码如下。但是func1正在将func2与callback2一起使用,然后依赖于第二次回调返回result,或者使用func3与callback3一起获得结果。不确定在何处放置另一个回调以获取一个结果 module1.func1(arg1, function (callback1) { module1.func2(arg2, function (callback2) { if (result2) result = result
callback1
从func1
获取结果的代码如下。但是func1
正在将func2
与callback2
一起使用,然后依赖于第二次回调返回result
,或者使用func3
与callback3
一起获得结果。不确定在何处放置另一个回调以获取一个结果
module1.func1(arg1, function (callback1) {
module1.func2(arg2, function (callback2) {
if (result2) result = result2;
else
module2.func3 (arg3, function (callback3) {
result = result3;
})
})
});
如果我向func3
添加另一个回调,则只有在我没有立即从func2
获得结果的情况下,它才会起作用。也许这就是我所需要的,图案对我来说太复杂了
module.exports = function (callback) {
module1.func1(arg1, function (callback1) {
module1.func2(arg2, function (callback2) {
if (result2) result = result2;
else
module2.func3 (arg3, function (callback3) {
result = result3;
callback(result) //???
})
})
});
};
在最近的JavaScript版本中,可以通过Promiss解决嵌套回调地狱问题。网络上的许多资源之一是
Promiss在ES6中可用,但也有几个库。我希望这能让你知道该找什么