Ich habe eine Folge auf Frage von diesem Posten: Chaining Requests using BlueBird/ Request-PromiseDrossel Anfrage Funktion
Ich bin sehr neu auf Versprechungen, so wenden Sie sich bitte die Naivität vergeben. Ich bin erfolgreich in der Lage diesen Code zu implementieren:
var BPromise = require('bluebird');
var rp = require('request-promise');
BPromise.all([
rp(optionsForRequest1),
rp(optionsForRequest2)
])
.spread(function (responseRequest1, responseRequest2) {
// Proceed with other calls...
})
.catch(function (err) {
// Will be called if at least one request fails.
});
Aber in meinem Fall die besondere Urls verschieden ist, jedes Mal. Ich möchte meine neue Reihe von URLs nehmen, konstruiere das Optionsobjekt für jeden und dann rp().
Wenn ich buchstäblich ein Array wie dieses bauen - var freshArray =[rp({Uri1 w/options}), rp({Uri2 w/options}), etc]
und stecken Sie es in die .all() oben - kein Glück. Ich denke, die RP() werden unabhängig von der BPromise.all Call implementiert?
Wie kann ich ein konstruiertes Array von Versprechen dynamisch in den obigen Code einbetten?
Danke Guig! Das möchte ich tun. Kannst du mir helfen, ein bisschen mehr zu verstehen? Sollte das Optionsfeld ein Array von Objekten sein? Und sollte es die URL als einen der Parameter enthalten? Wie funktioniert das?map() weiß/bekomme die URL in .map (url)? Sorry, ich verstehe nicht, was das => in (url) => rp (someFunction (url)) bedeutet. – kaynew
ok. Ich fügte einige Klarstellungen hinzu. Auch, Google ist dein bester Freund https://www.google.com/search?espv=2&biw=1440&bih=695&q=javascript+arrow+syntax – Guig
Danke nochmal, Guig. Manchmal ist es überwältigend zu googeln, wenn ich total verloren bin, also schätze ich es sehr, dass du mich in die richtige Richtung gelenkt hast. Ich denke, ich verstehe es jetzt. DANKE! – kaynew