javascript – So implementieren Sie die Verschachtelung asynchroner Schleifenabfragen
ringa_lee
ringa_lee 2017-07-05 10:36:27
0
1
979

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_lee
ringa_lee

ringa_lee

Antworte allen(1)
刘奇

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage