我正在尝试复制 devconnector 项目,但是当我发出发布请求配置文件路由创建配置文件时,发布请求处于待处理状态
Posted
技术标签:
【中文标题】我正在尝试复制 devconnector 项目,但是当我发出发布请求配置文件路由创建配置文件时,发布请求处于待处理状态【英文标题】:I'm trying to replicate the devconnector project but when I make post request a profile route create profile the post request is pending 【发布时间】:2022-01-15 02:10:00 【问题描述】:这是路线:
router.post(
'/',
[ auth,
check('status', 'Status is required').not().isEmpty(),
check('skills', 'Skills is required').not().isEmpty(),
],
async (req, res) =>
const errors = validationResult(req);
if (!errors.isEmpty())
return res.status(400).json( errors: errors.array() );
// destructure the request
const
website,
skills,
youtube,
twitter,
instagram,
linkedin,
facebook,
// spread the rest of the fields we don't need to check
...rest
= req.body;
// build a profile
const profileFields =
user: req.user.id,
website:
website && website !== ''
? normalize(website, forceHttps: true )
: '',
skills: Array.isArray(skills)
? skills
: skills.split(',').map((skill) => ' ' + skill.trim()),
...rest
;
// Build socialFields object
const socialFields = youtube, twitter, instagram, linkedin, facebook ;
// normalize social fields to ensure valid url
for (const [key, value] of Object.entries(socialFields))
if (value && value.length > 0)
socialFields[key] = normalize(value, forceHttps: true );
// add to profileFields
profileFields.social = socialFields;
try
// Using upsert option (creates new doc if no match is found):
let profile = await Profile.findOneAndUpdate(
user: req.user.id ,
$set: profileFields ,
new: true, upsert: true, setDefaultsOnInsert: true
);
return res.json(profile);
catch (err)
console.error(err.message);
return res.status(500).send('Server Error');
);
这是 Axios:
axios.post('/api/profile',profileData, headers:
'x-auth-token': localStorage.getItem('jwtToken')
).then(data => console.log(data)).catch(e => console.error(e))
这是个问题: pending
【问题讨论】:
【参考方案1】:您是否尝试过使用调试器来跟踪软件流程?
你有快递方面的日志吗?
我将开始检查是否达到let profile = await Profile.findOneAndUpdate
以定义问题是否从数据库请求开始。
在这个阶段我会说执行正在等待数据库超时
【讨论】:
以上是关于我正在尝试复制 devconnector 项目,但是当我发出发布请求配置文件路由创建配置文件时,发布请求处于待处理状态的主要内容,如果未能解决你的问题,请参考以下文章