В следующем фрагменте кода я помещаю вызов в микросервис с использованием axios.
app.get('/api/user/microservice/signin', async (req, res) => {
console.log('USER SIGNIN BEGINS')
try {
const user = await axios.post('http://localhost:4210/usermicroservice/signin', req.body)
console.log('USER CONTROLLER user from mongo ', user)
res.send(user);
} catch (error) {
throw error;
}
});
Вызывается целевая функция, данные извлекаются из базы данных, но результат никогда не попадает в вызывающийфункция.Они просто зависают.
Вызванная функция:
app.post('/usermicroservice/signin', async (req, res) => {
console.log('\n*** USER MICROSERVICE SIGNIN CALLED ***')
let user = await UserMicroservice.signin(res, req.body);
console.log('user from mongo ', user)
// res.status(200).json({user})
return user;
});
UserMicrosevice.signin (), возвращаемое значение:
if (await PasswordUtil.check(user.password, existingUser.password) == true) {
existingUser.token = PasswordUtil.generateAccessToken(existingUser, user.password);
console.log('existingUser token', existingUser.token)
console.log('existingUser', existingUser)
delete existingUser.password;
let credentials = { name: existingUser.name, email: existingUser.email, token: existingUser.token };
return credentials;
}
CORS:
app.use((req, res, next) => {
res.setHeader("Access-Control-Allow-Origin", "*");
next();
})