Ich kann nicht scheinen, dies herauszufinden. Ich verwende Node, Express und Bluebird für Versprechungen. Was ich versuche, ist ein Objekt innerhalb einer Schleife hinzuzufügen. Wenn ich das Protokoll logge, erhalte ich ein leeres Objekt.Node.js Hinzufügen zu einem Objekt innerhalb einer Schleife
Gehe ich das alles falsch?
Promise.props({
rewards: db.query("SELECT title, created_by FROM rewards WHERE team_id = '" + team_id + "'")
}).then(function(results) {
var rewards = [],
title = results.rewards[0].title;
created_by = results.rewards[0].created_by,
for (var i = 0; i < results.rewards.length; i++) {
Promise.props({
user: db.query("SELECT * FROM users WHERE uid = '" + results.rewards[i].created_by + "'")
}).then(function(result) {
rewards.push({
\t created_by: created_by,
\t title: title,
\t username: result.user[0].username
});
});
}
console.log(rewards);
});
Danke, Derick abgeschlossen sind! Ich habe Ihre Änderungen und bekomme diesen Fehler: 'Unhandled Ablehnung TypeError: erwartet ein Array oder ein iterables Objekt aber bekam [Objekt Null]' – twobergs
oops - hatte mehrere Tippfehler drin. Ich habe den Code aktualisiert, nur um den Promise.all-Aufruf zu korrigieren, und einen Rechtschreibfehler von "promiseList". hoffentlich wird es jetzt funktionieren –
Das hat funktioniert. Danke für Ihre Hilfe! – twobergs