node.js-request-like "emitter.setMaxListeners ()"?
Kiedy wprowadzam konkretne URI przy użyciu modułu Node.js ";
var options = {uri:"aURI", headers:headerData};
request.get(options, function (error, response, body) {
}
Komunikat o błędzie
:
[Error: Exceeded maxRedirects. Probably stuck in a redirect loop.]
i jest też następująca wiadomość
:
"(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit."
Jak
setMaxListeners?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
7 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Ostrzeżenie tutaj nie jest z powodu. W większości przypadków dzieje się tak, ponieważ błąd jest ukryty w kodzie. Usuwanie ograniczeń eliminuje ostrzeżenie, ale nie jest jego powód i zapobiega wyciekom zasobom źródło.
Jeśli osiągniesz limit z uzasadnionego powodu, umieść rozsądną wartość w funkcji (domyślnie 10).
Nie musisz też zadzierać z prototypem EventEmitter, aby zmienić ustawienia domyślne. możesz ustawić wartość atrybutu defaultMaxListeners w następujący sposób:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
W main.js modułu 'request' dodałem jedną linię:
Definiuje nieograniczoną liczbę słuchaczy
http://nodejs.org/documents/v0 ... eners
http://nodejs.org/docs/v0.4.7/ ... eners
W moim kodzie jawnie ustawiłem wartość „maxRedirects”:
Anonimowy użytkownik
Potwierdzenie od:
Wolałbym ustawić maksymalną liczbę słuchaczy we własnym kodzie:
Anonimowy użytkownik
Potwierdzenie od:
answer
https://stackoverflow.com/a/44143119/1390678
Przyczyna
- w Twojej aplikacji
jest ukryty
kod
Jak znaleźć
-
na przykład
, w moim przypadku utworzyłem 30 instancji
magazyn Winston
https://github.com/winstonjs/winston
nieświadomie
i zaczął dawać błąd
Uwaga:
Jeśli pominiesz ten błąd, powtórzy się on za 3-4 dni.
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Używam tego kodu i działa
Spróbuj. To może pomóc
podziękować