ð在了解什么是回调之前,请确保先熟悉callback。
在编程中,回调地狱是指编写异步代码的无效方式。当您嵌套功能并创建太多层次的嵌套时,它发生。这使得控制对特定功能的访问变得更加困难,并且更难调试问题。
嵌套意味着将一个函数放在另一个函数中,然后将第三个函数放在第二个函数中,然后将第四个函数放在第三个功能中,依此类推。通过将回调放在回调中并在回调中回电,更复杂的应用程序回调逻辑可能会变得太混乱了!这种类型的嵌套在视觉上看起来像是金字塔,这就是为什么回调地狱也称为厄运金字塔的原因。 ð½
让我们记住我们准备一些意大利Moka咖啡时的回调功能。
在填充锅炉之前购买一些咖啡
在填充漏斗之前填充锅炉
在将锅放在炉子上之前填充漏斗
将锅放在炉子上之前,将锅放在炉子上
倒咖啡之前取出锅
您走了,我们使用每个功能中的名为NextAction的回调功能来制作咖啡。因此,每个步骤都会导致下一个步骤,然后到下一个等等 - 一个动作才能开始。
。但是,如果我开始准备一些沙拉,该沙拉需要再走10倍的步骤怎么办?如果我也想准备汤怎么办?也许因为我有很多客人而有更多的饭菜?
这就是为什么我将所有动作都包含在一个功能中,并将此功能任务委派给我的丈夫 - 所以一切都会由他完成。
在这里,我们得到了一些回调地狱, finalstep 嵌套在 startpreparing 中,而是嵌套的 preparfunnel ,被嵌套在准备中的备件嵌套了内部准备,有时候情况会变得更糟!
作为初学者,您可能不会很快偶然发现回调地狱,但是不要烦恼!一旦您知道,只要您知道这是什么准备。有一些方法可以避免这种情况,稍后我将解释。现在,享用咖啡! -