Почему мой вызов axios не возвращает ответ? - PullRequest
0 голосов
/ 20 апреля 2019

В следующем фрагменте кода я помещаю вызов в микросервис с использованием 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();
})

1 Ответ

1 голос
/ 20 апреля 2019

Через некоторое время мы выяснили, что ответ микросервиса должен быть:

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})
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...