什么是回调地狱?
#javascript #初学者 #callback #callbackhell

ð在了解什么是回调之前,请确保先熟悉callback

在编程中,回调地狱是指编写异步代码的无效方式。当您嵌套功能并创建太多层次的嵌套时,它发生。这使得控制对特定功能的访问变得更加困难,并且更难调试问题。
嵌套意味着将一个函数放在另一个函数中,然后将第三个函数放在第二个函数中,然后将第四个函数放在第三个功能中,依此类推。通过将回调放在回调中并在回调中回电,更复杂的应用程序回调逻辑可能会变得太混乱了!这种类型的嵌套在视觉上看起来像是金字塔,这就是为什么回调地狱也称为厄运金字塔的原因。 ð½

让我们记住我们准备一些意大利Moka咖啡时的回调功能。

在填充锅炉之前购买一些咖啡

Buy some coffee before filling the boiler

在填充漏斗之前填充锅炉

Fill the boiler before filling the funnel

在将锅放在炉子上之前填充漏斗

Fill the funnel before placing the pot on stove

将锅放在炉子上之前,将锅放在炉子上

Place the pot on the stove before removing it

倒咖啡之前取出锅

Remove the pot before pouring coffee

您走了,我们使用每个功能中的名为NextAction的回调功能来制作咖啡。因此,每个步骤都会导致下一个步骤,然后到下一个等等 - 一个动作才能开始。

但是,如果我开始准备一些沙拉,该沙拉需要再走10倍的步骤怎么办?如果我也想准备汤怎么办?也许因为我有很多客人而有更多的饭菜?

这就是为什么我将所有动作都包含在一个功能中,并将此功能任务委派给我的丈夫 - 所以一切都会由他完成。

Callback hell

在这里,我们得到了一些回调地狱, finalstep 嵌套在 startpreparing 中,而是嵌套的 preparfunnel ,被嵌套在准备中的备件嵌套了内部准备,有时候情况会变得更糟!

作为初学者,您可能不会很快偶然发现回调地狱,但是不要烦恼!一旦您知道,只要您知道这是什么准备。有一些方法可以避免这种情况,稍后我将解释。现在,享用咖啡! -