Ihre Geige ist falsch und entspricht nicht dem von Ihnen angegebenen Beispiel redux-thunk. In ihrem Beispiel wickeln sie eine fetch
Anfrage mit einer Funktion namens fetchSecretSauce
. Was Sie getan haben, ist eine Funktion fetch
, die eine Funktion fetch
(die Funktion, die Sie gerade definiert haben) ruft, um eine Endlosschleife zu erstellen, indem Sie sich selbst immer wieder aufrufen.
Die JavaScript-Engine hat eine Grenze für die Häufigkeit, wie oft etwas aufgerufen werden kann. Wenn diese Grenze erreicht ist, denken die JavaScript-Engine wie folgt:
I believe this is going to go on forever, so I'll prevent anything bad from happening and terminate it now. I'll also give you this descriptive message: Uncaught RangeError: Maximum call stack size exceeded
.
Nachfolgend finden Sie ein Beispiel finden, die genau die gleichen wie bei Ihnen sind minus dem Funktionsnamen. Hit "Run-Code-Snippet" und Sie werden die gleichen Endlosschleife sehen:
function infiniteLoop() {
return infiniteLoop('https://www.google.com/search?q=secret+sauce');
}
console.log(foo());
Sie genau so, wie sie in ihrem Beispiel zu tun und umbenennen die Wrapper-Funktion etwas ganz anderes. Nennen Sie es, was Sie wollen, nur nicht nennen Sie es fetch
.
No-Repo von nur dem Code, den Sie zitiert haben. Vielleicht haben sie 'fetch' in ihrem Code auf eine Weise neu definiert, die dem neuen Standard widerspricht. –
Was genau machst du mit 'fetchSecretSauce()'? Wie protokollieren Sie das Ergebnis? – robertklep
@JeremyBanks behoben. –