我需要在我的代碼中使用藍鳥,我不知道如何使用它。我的代碼包含嵌套循環。當用戶登錄時,我的代碼將運行。它將開始查找用戶下的任何文件,如果有文件,則它將循環以獲取文件的名稱,因爲該名稱存儲在字典中。一旦獲得了名稱,它就會將該名稱存儲在數組中。一旦存儲了所有的名字,它就會在res.render()中傳遞。如何在嵌套for循環中使用promise藍鳥?
這裏是我的代碼:
router.post('/login', function(req, res){
var username = req.body.username;
var password = req.body.password;
Parse.User.logIn(username, password, {
success: function(user){
var Files = Parse.Object.extend("File");
var object = [];
var query = new Parse.Query(Files);
query.equalTo("user", Parse.User.current());
var temp;
query.find({
success:function(results){
for(var i=0; i< results.length; i++){
var file = results[i].toJSON();
for(var k in file){
if (k ==="javaFile"){
for(var t in file[k]){
if (t === "name"){
temp = file[k][t];
var getname = temp.split("-").pop();
object[i] = getname;
}
}
}
}
}
}
});
console.log(object);
res.render('filename', {title: 'File Name', FIles: object});
console.log(object);
},
error: function(user, error) {
console.log("Invalid username/password");
res.render('logins');
}
})
});
編輯:代碼不起作用,因爲在第一和第二的console.log(對象),我得到一個空數組。我想獲得一個項目,因爲我有一個文件保存
爲什麼你需要使用藍鳥?如果將'res.render'移動到最裏面的'success'回調末尾,您的代碼應該已經工作了 –
代碼不起作用,因爲在第一個和第二個console.log(對象)上,我得到一個空陣列。我想獲得該數組中的一個項目,因爲我保存了一個文件。 – Suji