Javascript 如何在express.js中将回调放入res.json

Javascript 如何在express.js中将回调放入res.json,javascript,node.js,express,callback,Javascript,Node.js,Express,Callback,我需要调用在我的Express.js中返回对象的异步回调函数,但我不知道如何调用 app.get('/first', function (req, res, next) { res.json(//put my async callback function here ?); }); 职能: const reqObj=()=>{ 请求(`isdb.pw/${url}`,函数(err、res、body){ 如果(!err){ const$=cheerio.load(车身); var name=$

我需要调用在我的Express.js中返回对象的异步回调函数,但我不知道如何调用

app.get('/first', function (req, res, next) {

res.json(//put my async callback function here ?);
});
职能:

const reqObj=()=>{
请求(`isdb.pw/${url}`,函数(err、res、body){
如果(!err){
const$=cheerio.load(车身);
var name=$('meta[name=“description”]”)。attr('content');
var story=$('meta[property=“og:video:url”]).attr('content');
返回{
名称
故事
};
}否则{
控制台日志(err);
}
});
};

首先,让函数返回一个承诺,然后您就可以使用它了。然后:

const reqObj=()=>{
返回新承诺((解决、拒绝)=>{
请求(`isdb.pw/${url}`,函数(err、res、body){
如果(!err){
const$=cheerio.load(车身);
var name=$('meta[name=“description”]”)。attr('content');
var story=$('meta[property=“og:video:url”]).attr('content');
决心({
名称
故事
});
}否则{
拒绝(错误);
}
});
});
};
之后,调用异步函数并在获得数据后运行
res.json()

app.get('/first', function (req, res, next) {
  reqObj().then(data => {
    res.json(data);
  }).catch(err => console.log(err)); 
});
res.json()
只接受对象作为参数


这里有一个回调的解决方案


const reqObj=(回调)=>{/@KolaCaine但我的函数不返回承诺,我如何使用。然后?请发布你的函数请接受答案,如果它帮助你解决了你的问题:-)但是在这种情况下可以使用没有承诺的回调?是的,但会有点复杂…你的目标是没有承诺支持的节点版本吗?我大约在一个月前开始学习JS,我想尝试一切,以获取我的知识)我将对这篇文章进行编辑,解释如何通过回调实现这一点。