IchWie mache ich diese Funktion zu einem Versprechen?
app.get('/api/users/:username', (req, res) => {
let username = req.params.username;
findUserInApi(username)
.then(foundUser => {
if (foundUser) {
res.status(403).send('User not found in api yet');
}else{
res.json(foundUser);
}
});
});
routen express mit Ich möchte findUserInApi ein Versprechen sein, weil ich warten müssen, um auf die holen, dass innerhalb dieser Funktion geschieht.
dies findUserInApi
const findUserInApi = (username) => {
findChattersPerRole()
.then(chattersPerRole => {
console.log(`${username} should\'ve been added by now...`);
//console.log(chattersPerRole);
let wantedUser = find(chattersPerRole, {username});
if (!wantedUser) {
console.log(`${wantedUser} wasn't found m8`);
return Promise.resolve(null);
}
console.log('wanteduser is: ', wantedUser);
getUserByUsername(wantedUser.username)
.then(foundUser => {
console.log('founduser is: ', foundUser);
return Promise.resolve(foundUser);
});
});
};
ich nur null zurück verwendet, wenn sie nicht oder foundUser gefunden, als er gefunden wurde, aber ich versuchte Versprechen aus ihnen Promise.resolve durch die Rückkehr zu machen. Ich bin nicht sicher, wie dieser Fehler behoben zu bekommen ...
'findUserInApi' gibt undefined zurück. Liefern Sie einfach das Versprechen zurück? – Oriol
'zurück findChattersPerRole()'? 'then'-Funktion gibt Versprechen selbst zurück, also bin ich mir nicht sicher, ob Sie' aufgelöstes Versprechen' zurückgeben müssen, indem Sie 'Promise.resolve' aufrufen. –