2017-02-09 4 views
0

Irgendeine Idee auf, warum ich diesen Fehler bekomme Ich laufe derzeit ein Monitor-Skript es und es läuft gut für ein bisschen, aber solange es eine Reihe von Links erkennt Kommen Sie zur gleichen Zeit, bekomme ich diesen Fehler, während, wenn es Links mit einer langsameren Geschwindigkeit und vielleicht 1-2 Links zu einem bestimmten Zeitpunkt erkennt, dauert dieser Fehler länger zu erscheinen.TypeError: res.links.join ist keine Funktion

TypeError: res.links.join is not a function 
at send (C:\Users\badboys\Desktop\SHOPIFY SCRIIPT\monitor\monitor.js:408:35) 
at lib.getStockData (C:\Users\badboys\Desktop\SHOPIFY SCRIIPT\monitor\monitor.js:396:13) 
at Request._callback (C:\Users\badboys\Desktop\SHOPIFY SCRIIPT\monitor\lib\index.js:71:20) 
at self.callback (C:\Users\badboys\Desktop\SHOPIFY SCRIIPT\monitor\node_modules\request\request.js:186:22) 
at emitOne (events.js:96:13) 
at Request.emit (events.js:188:7) 
at Request.onRequestError (C:\Users\badboys\Desktop\SHOPIFY SCRIIPT\monitor\node_modules\request\request.js:845:8) 
at emitOne (events.js:101:20) 
at ClientRequest.emit (events.js:188:7) 
at TLSSocket.socketErrorListener (_http_client.js:310:9) 
at emitOne (events.js:96:13) 
at TLSSocket.emit (events.js:188:7) 
at emitErrorNT (net.js:1278:8) 
at _combinedTickCallback (internal/process/next_tick.js:74:11) 
at process._tickCallback (internal/process/next_tick.js:98:9) 
+0

Sind Links im Array gespeichert? Ich meine, ist Links der Array-Datentyp? –

Antwort

0

.join() ist ein Verfahren auf dem Array Datentyp in JavaScript gefunden.

Der Fehler: res.links.join is not a function tritt am wahrscheinlich weil join kann nicht als Funktion auf res.links finden.

Es ist am wahrscheinlichsten, dass res.links gibt etwas anderes, dass ein array an einem bestimmten Punkt, obwohl das ist, was erwartet wird.

Könnte mit mit Abmeldung res.links sein, um dies zu überprüfen.

Die Lösung wäre, den Fall zu behandeln, in dem res.links kein Array ist, indem ein join zu diesem Zeitpunkt nicht versucht wird.

0

Ich denke, man die API call limit schlagen und stattdessen die erwartete Antwort Sie erhalten eine Fehlermeldung:

{"errors":"Exceeded 2 calls per second for api client. Reduce request rates to resume uninterrupted service."} 

Sie es mit valvelet durch Umwickeln Sie den Monitor-Funktion lösen könnte.