suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript – So implementieren Sie die Verschachtelung asynchroner Schleifenabfragen

Gehen Sie davon aus, dass ein Schülerwörterbuch-Array vorhanden ist und die Schüler Namen und Klassennummern haben. Fragen Sie zunächst die Schulen ab, die die Bedingungen erfüllen, erleichtern Sie das Schülerwörterbuch-Array, erstellen Sie ein Schülerobjekt und weisen Sie den Namen, die Schule und die Klasse zu Die Klasse muss zunächst den Standort des Klassenzimmers abfragen, um festzustellen, ob eine kreisförmige Abfrage angezeigt wird. Wie kann man ein solches Problem lösen?

var studentArr = new Array({'name': 'a','room':'101'},{'name': 'b','room':'102'},{'name': 'c','room':'103'},{'name': 'd','room':'104'});
var objects = new Array();
var schoolQuery = new AV.Query(Shcool);
schoolQuery.equalTo('name','**高中');
schoolQuery.find().then(function(schoolReuslts){
    for (var i = 0; i < studentArr.count; i ++){
        var student = studentArr[i];
        var object = new Student();

        object.set('name',student['name']);
        object.set('room',student['room']);
        object.set('school',schoolReuslts[0]);

        var classQuery = new AV.Query(Class);
        classQuery.equalTo('school',schoolReuslts[0]);
        classQuery.equalTo('room',student['room']);
        classQuery.find().then(function(classResults){
                object.set('class',classResults[0]);
                objects.push(object);
            }, function(error){
                console.log(error);
            });
        }
    return AV.Object.saveAll(objects);
}).then(function(objects){
    //全部保存成功    
}
}).catch(function(error) {
    console.log(error);
ringa_leeringa_lee2708 Tage vor963

Antworte allen(1)Ich werde antworten

  • 怪我咯

    怪我咯2017-07-05 10:38:27

    可以使用异步函数的嵌套,async/await node.js版本>7.10.0

    Antwort
    0
  • StornierenAntwort