Mehrere Antworten auf den Restore-Aufruf node.js

8

Ich habe eine Bibliothek zum Senden von REST-Anforderungen erstellt:

%Vor%

Das Problem ist, dass jedes Mal, wenn ich die Bibliothek benutze und der Anruf beantwortet wird, der "on complete" mehrmals aufgerufen wird: Die erste Verwendung der Methode ruft 'on complete' nur einmal auf, die zweite Verwendung der Methode ruft 'on auf vervollständigen 'zweimal und so weiter ....

Was mache ich falsch?

Danke Jose

    
JoseOlcese 16.04.2013, 21:51
quelle

5 Antworten

14

Ich hatte auch mit diesem Problem zu kämpfen. fand aber keine Antwort im Internet. Ich finde es aber endlich heraus. Es wurde dadurch verursacht, dass das Ereignis 'complete' jedesmal registriert wird, wenn Ihre rest.get () aufgerufen wird.

Meine Lösung besteht darin, .once () anstelle von .on () zu verwenden. Zum Beispiel:

%Vor%

Hoffentlich hilft das.

    
user2413287 23.05.2013 11:10
quelle
4

TL; DR: Fehler im Restler, schnelle Lösung bis npm aktualisiert wurde: git master zu package.json

hinzufügen

Das wirkliche Problem hier ist, dass einige Änderungen an der Ereignis-API in Knoten 0.10 dazu führen, dass alte alte Listener wie in beschrieben wiederhergestellt werden Ссылка .

Ende August wurde dies in Ссылка behoben. Während wir auf eine korrekte npm-Veröffentlichung warten, funktioniert es für mich, indem ich den aktuellen Git-Kopf verwende.

%Vor%

HAFTUNGSAUSSCHLUSS: Ich weiß nicht, was in dieser Version kaputt ist oder warum es noch nicht veröffentlicht wurde. Ich habe die Probleme oder Unterschiede seit der letzten Veröffentlichung nicht durchgelesen, um es herauszufinden.

UPDATE Aug 2014: Seither gab es eine npm-Version, die den Fix zu enthalten scheint.

    
beilharz 02.10.2013 08:30
quelle
2

Dies liegt daran, dass Sie für jeden Anruf ein neues Ereignis anhängen. Versuchen Sie zuerst, das Ereignis zu lösen.

    
Aleko 16.04.2013 22:01
quelle
1

Eine Ausnahme, die in Ihrem Callback-Handler für eine JSON-Anfrage auftritt, kann dieses Verhalten ebenfalls verursachen.

Sehen Sie hier die Pull-Anfrage nach einer Lösung dafür: Ссылка

    
Josh Wulf 25.04.2013 05:27
quelle
1

Bitte überprüfen Sie v3.2.2. Aktualisieren Sie Ihre package.json:

%Vor%

Es hat dieses Problem für mich gelöst.

    
Igor Escobar 19.11.2014 12:10
quelle

Tags und Links