/ / Tworzenie funkcji asynchronicznej w JavaScript - javascript, rekursja, wywołanie funkcji

Tworzenie asynchronicznej funkcji w JavaScript - javascript, rekursja, wywołanie funkcji

Czy jest możliwe wywołanie funkcji w javascript i nie czekanie na wyniki? Mam wiele wywołań rekurencyjnych i zużywają dużo pamięci, więc czasami dostaję komunikat „Przekroczono maksymalny rozmiar stosu wywołań”.

Odpowiedzi:

2 dla odpowiedzi № 1

Możesz użyć

setTimeout( function(){ ..... }, 0  )

0 dla odpowiedzi nr 2

Nie jest to możliwe i nie jest związane z oczekiwaniem na powrót funkcji. Problem polega na tym, że wywołujesz funkcję w obrębie funkcji.

Po wywołaniu funkcji funkcja wywołującastan jest wypychany na stos. Jeśli wywoła to inną funkcję, stan zostanie wypchnięty na stos. Stos musi rosnąć. Musisz spojrzeć na swój projekt i czy rekurencja jest odpowiednia dla twojego problemu.

Jeśli nie potrzebujesz wyniku funkcji lub musisz poczekać na jej powrót, czy potrzebujesz rekurencji.