Я пытаюсь сделать два пост-запроса с ax ios на мой express сервер с React.useEffect ().
Когда я вызываю только firstAx ios () или secondAx ios ( ) внутри моего useEffe c () сообщение извлекает хороший результат. но когда я вызываю getBoth () внутри моего useEffect (), как показано ниже, chrom выдаст мне следующую ошибку: POST http://localhost:3000/filterUsers net::ERR_EMPTY_RESPONSE
только эта ошибка связанный с secondAx ios (). Я не понимаю, почему, и на моей серверной стороне я также объявил cors:
app.use(cors({
origin : 'http://localhost:8081',
methods : ['GET', 'POST'],
credentials:true
}));
код ответа внешнего интерфейса выглядит так:
useEffect(()=>{
getBoth().then((res)=>console.log(res))
}, [])
async function postBoth(){
let promises = [firstAxios(), secondAxios()]
let [ff, sf] = await Promise.all(promises)
return {ff, sf}
}
async function firstAxios(){
const authOption = {
method : 'POST',
url : 'http://localhost:3000/session',
header: {'content-type':'application/json'},
data : {data : 'some'},
withCredentials : true,
}
let res = await Axios(authOption)
return (res.data)
}
async function secondAxios(){
var authOption = {
method : 'POST',
url : 'http://localhost:5000/filterUsers',
header: {'content-type':'application/json'},
data : {id : 1},
withCredentials : true,
}
let res = await Axios(authOption)
let users = res.data
return users
}
На Express стороне сервера соответствующий код:
const fetchUserFromId = async (userId)=>{
try{
let query = `SELECT * from users WHERE id =${userId}`
let res = await pool.query(query)
if(res[0])
return res[0]
console.error('the user does not exist from fetchUserFromId')
}catch(e){
return('Error in fetchUserFromId' + e)
}
}
router.post('/session', (req, res)=>{
res.send({data : 'ok from server'})
})
router.post('/filterUsers', async(req, res)=>{
let id = req.body.id
let user = await fetchUserFromId(id)
res.send(user)
})
дальнейшее тестирование Если при таком изменении маршрутизатора все работает нормально, я могу получить правильные два ответа: оба запроса на моей передней стороне React.
router.post('/filterUsers', async(req, res)=>{
res.send({user : 'test'})
})
Так что, мне кажется, проблема, связанная с моим запросом к базе данных в express, занимает слишком много времени? но почему, если я посылаю отдельный запрос на топор ios, все работает нормально?