Ich versuche, REST API-Endpunkte von meiner node.js App zu schlagen, wie folgt:Node.js-API anfordern Grenze mit Anfrage-Versprechen
var people = [];
for(var i=0; i<n; i++) {
//create person
people.push(person);
}
return Promise.all(people.map(create3APIRequestPromises));
wo create3APIRequestPromises etwa folgende ist:
// APIRequestPromise = require('request-promise')(options);
return Promise.all([APIRequestPromise1, APIRequestPromise2, APIRequestPromise3]);
Der Code funktioniert für eine kleine Anzahl von Menschen alle richtig, aber wenn ich es zu viel erhöht, beginnt es zu versagen. Ich glaube, dass dieser Fehler von dem Dienst verursacht wird, der die REST-API bereitstellt, die meine Verwendung einschränkt. Also, meine Frage ist, was ist der beste Weg, um die Anzahl der Anfragen zu begrenzen, die ich sage, 10 pro Sekunde.
Ich habe über Node-Rate-Limiter gelesen, aber ich konnte nicht sehen, wie es mit den Versprechen, die ich oben geschrieben habe mit 'Anfrage-Versprechen' (vielleicht ist es mit diesem Modul nicht möglich, so vielleicht passen Sie könnten eine Alternative vorschlagen).
Danke.
Sehen Sie sich https://github.com/charto/cwait an –