Ich habe ein Problem mit einem Objekt, das Versprechungen enthält und auf die Cilent-Seite zugreift. Ich möchte Zugriff auf die Werte haben, aber alles, was ich erhalten habe, war ein leeres Objekt.Leeres Objekt auf Client-Seite. Wie verhalte ich Versprechenswerte?
Hier ist der Code auf dem Server-Seite:
router.get('/toExcess', function(req, res){
console.log(req.query);
const response = logic.adder(req.query.a, req.query.b);
const convertToModular = logic.modularRecordExcess(response);
const convertToOpposite = logic.oppositeRecordExcess(response);
const convertToObjective = logic.objectiveRecordExcess(response);
convertToObjective.then(function (response) {
var add = {
modular: convertToModular,
opposite: convertToOpposite,
objective: convertToObjective,
}
console.log(add);
res.send(add);
}).catch(function(err){
});
});
und es ist Log-Konsole auf Server-Seite:
{ modular: Promise { [ '1.', '0111', '.', '1001', '0011' ] },
opposite: Promise { [ '1.', '1000', '.', '0110', '1100' ] },
objective: Promise { [ '1.', '1000', '.', '0110', '1101' ] } }
und hier reagieren Funktion:
showExcess(){
document.querySelector('.input-wrapper').style.display = 'inline';
RestClient.getExcess(this.state.augend, this.state.addend).then((response)
=> {
this.setState({
isReady: true
});
console.log(response);
});
}
und das consol.log-Ergebnis im Browser: enter image description here
Das Objekt ist leer. Irgendwelche Vorschläge? Ich muss auf Werte von modular, objektiv und entgegengesetzt zugreifen können.
Lösen Sie zuerst Ihre Versprechen. Resolve.all ([convertToModular, Gegenteil, Ziel]). Dann (res.json); –