Ich möchte eine Website für 40 Mal anfordern.Javascript.Run Multi verspricht synchron
Ich möchte das synchron sein, wie 10 Anfragen 4 mal.
Dies ist mein Code für 1 Anfrage - 40mal:
'use strict';
var request = require('request');
var co = require('co');
function callUrl(url) {
return new Promise((resolve, reject) => {
request.get(url, (e, r, b) => {
if (e) reject(e)
else
resolve(`Response from ${url}`);
});
})
}
co(function*() {
for (var i = 1; i < 41; i++) {
let rs = yield callUrl('https://www.google.com/?q=' + i);
// let rs = yield makeUrls(10,i);
console.log(rs);
}
});
ich eine Reihe von Versprechungen machen kann, aber ich kann es nicht herausgefunden, wie der Wert von q
zu ändern, anders zu sein .
tun Sie passieren wollen beenden das Ergebnis jedes Versprechens zum nächsten oder feuere sie synchron ohne direkte Beziehung? –
Ich möchte sie in einer Kette feuern, ich möchte nicht jede URL durchlaufen. Stellen Sie sich vor, ich muss 10.000 Anfragen machen. Ich möchte mehrere Versprechen gleichzeitig ablegen. Ich möchte sie nicht alle gleichzeitig haben, weil ich den Server DDOS haben könnte. –