Javascript 使用异步/回调获取数据?
我不知道如何将其转换为异步类型。我如何转换这个?这是密码Javascript 使用异步/回调获取数据?,javascript,node.js,async-await,Javascript,Node.js,Async Await,我不知道如何将其转换为异步类型。我如何转换这个?这是密码 router.put('/unfollow', requireLogin, (req, res) => { User.findByIdAndUpdate(req.body.unfollowId, { $pull: {followers: req.user._id} },{ new: true },(err, result) => { if(err) re
router.put('/unfollow', requireLogin, (req, res) => {
User.findByIdAndUpdate(req.body.unfollowId, {
$pull: {followers: req.user._id}
},{
new: true
},(err, result) => {
if(err) return res.status(422).json({ error: err })
User.findByIdAndUpdate(req.user._id, {
$pull: { following: req.body.unfollowId }
}, {
new: true
})
.select('-password')
.then(result => {
res.json(result)
})
.catch(err => {
return res.status(422).json({ error: err })
})
})
})
我认为你可以这样做:
router.put('/unfollow', requireLogin, async (req, res) => {
try {
await User.findByIdAndUpdate(req.body.unfollowId, {$pull: {followers: req.user._id}}, {new: true});
const result = await User.findByIdAndUpdate(req.user._id, {$pull: {following: req.body.unfollowId}}, {new: true})
.select('-password');
res.json(result);
} catch (err) {
return res.status(422).json({error: err});
}
});
我认为你可以这样做:
router.put('/unfollow', requireLogin, async (req, res) => {
try {
await User.findByIdAndUpdate(req.body.unfollowId, {$pull: {followers: req.user._id}}, {new: true});
const result = await User.findByIdAndUpdate(req.user._id, {$pull: {following: req.body.unfollowId}}, {new: true})
.select('-password');
res.json(result);
} catch (err) {
return res.status(422).json({error: err});
}
});
这样行吗
router.put('/unfollow', requireLogin, async (req, res) => {
await User.findByIdAndUpdate(req.body.unfollowId, {
$pull: {followers: req.user._id}
},{
new: true
},(err, result) => {
if(err) return res.status(422).json({ error: err })
await User.findByIdAndUpdate(req.user._id, {
$pull: { following: req.body.unfollowId }
}, {
new: true
})
.select('-password')
.then(result => {
res.json(result)
})
.catch(err => {
return res.status(422).json({ error: err })
})
})
})这样行吗
router.put('/unfollow', requireLogin, async (req, res) => {
await User.findByIdAndUpdate(req.body.unfollowId, {
$pull: {followers: req.user._id}
},{
new: true
},(err, result) => {
if(err) return res.status(422).json({ error: err })
await User.findByIdAndUpdate(req.user._id, {
$pull: { following: req.body.unfollowId }
}, {
new: true
})
.select('-password')
.then(result => {
res.json(result)
})
.catch(err => {
return res.status(422).json({ error: err })
})
})
})是,除非添加异步/等待部分,否则不会更改它。然而,它能工作吗?是的,除非添加异步/等待部分,否则不会更改它。然而,它是否有效?