Wie loop-Wunsch-Versprechen-API-Anforderung nennen?

Ich versuche es zu lernen Node.JS und ich bin eingeführt, um die Wunsch-Versprechen-Paket. Ich benutze es für die API-Aufruf, aber ich Stand vor einem problem, wo ich nicht gelten-Schleife, um es.

Dies ist die Beispiel zeigt einen einfachen API-Aufruf:

var read_match_id = {
    uri: 'https://api.steampowered.com/IDOTA2Match_570/GetMatchHistory/V001',
    qs: {
        match_id: "123",
        key: 'XXXXXXXX'
    },
    json: true
};

rp(read_match_id)
.then(function (htmlString) {
    //Process html...
})
.catch(function (err) {
    //Crawling failed...
});

Wie kann ich eine Schleife wie diese:

 var match_details[];
 for (i = 0; i < 5; i++) {
     var read_match_details = {
              uri: 'https://api.steampowered.com/IDOTA2Match_570/GetMatchDetails/V001',
            qs: {
                  key: 'XXXXXXXXX',
                  match_id: match_id[i]
                },
            json: true //Automatically parses the JSON string in the response 
    };
    rp(read_match_details)
       .then (function(read_match){
            match_details.push(read_match)//push every result to the array
        }).catch(function(err) {
            console.log('error');
        });
    }

Und wie kann ich wissen, wenn alle die async-request fertig sind?

  • Promise.all ist, was Sie brauchen, um zu lernen
  • vielen Dank für Ihre Antwort ...
  • Manchmal Lehre einen Mann zu Fischen ist besser als ihm einen Fisch
  • stimmt, dass.. erm ... kann ich bitte wieder die Frage aus der Antwort Balg? Ist dies der beste Ansatz zur Behandlung von async-request? oder ist dies nur das komplizierter?
InformationsquelleAutor brendan | 2016-09-15
Schreibe einen Kommentar