Вот мой пример кода для асинхронного ожидания
контроллер
const {addUserInterestService} = require('../services/profile.js');
const addUserInterest = async function (req,res,next){
try{
let params ={
id:req.user.userId,
userInterests:['5bb2597ca8729e19ddaf13a8']
};
let result = await addUserInterestService(params);
console.log(result);
}catch(error){
console.log(error);
}
}
/ services / profile.js
const User = require('../models/User');
const addUserInterestService = async (params)=>{
console.log(params);
return new Promise((resolve,reject)=>{
User.update({
_id:params.id,
},{
'$addToSet':{userInterest:{'$each':params.userInterests}}
})
},(err,result)=>{
console.log("async",err,result);
if(err){
reject(err,null);
}
resolve(null,result);
})
}
module.exports ={
addUserInterestService
}
Но обещание, не выполненное здесь, т. Е. console.log(result);
, никогда не возвращает никакого результата.