1
我想我在这里错过了一些简单的东西,但认为我一直在看这太久。回调响应问题
我原本有你在这里看到的函数内联,但想拉出来,并在我的应用程序的其他方面使用它,但我似乎无法得到预期的信息到POST响应。
这里是我的功能:
let lookUpUserId = (x) => {
mongo.connect(url, (err,db) => {
assert.equal(null,err);
db.collection('data').findOne({"email": {'$eq' : x }},{"_id":1}, (err,result) => {
console.log(result); // I'm getting the correct response here.
assert.equal(null,err);
db.close();
return result; // This seems to be returning empty
});
});
};
而现在这里的地方,我叫它(简体):
router.post('/test1', (req,res,next) => {
console.log('Hit on POST /test1');
let obj = '[email protected]';
let a = lookUpUserId(obj);
res.send(a);
});
现在在服务器的控制台,我得到预期的信息:
{_id:someIdHere }
但是,我得到一个空的身体响应我的POST在客户端。
任何人都可以在这里指出正确的方向。
尝试这两个解决方案在这里,第一个完美的作品,虽然我不能让速记版本正常工作,因为它是通过“请求未定义”。无论哪种方式,都解决了。 – Gates
@Gates'req was undefined'?我甚至没有在这里使用'req'。 – hsz
是的我不太确定,可能是我如何设置路由器todo。我会深入研究它。 – Gates