-1

在我的 javascript 类中,我有一个函数可以返回这样的列表,

//ProjectClass.js
getProjectList: () =>
    @Project.find (err, projects) =>
        console.log(projects)
        return projects

但是,每当我尝试从 nodejs 发送服务器响应时

//App.js
project = new projectSchema.Project()
res.send(project.getProjectList())

我得到以下回复

{
    "options": {
        "populate": {}
    },
    "_conditions": {},
    "_updateArg": {},
    "op": "find"
}

具有讽刺意味的是,如果我将 res 对象传递给我的 getProjectList 并从我的 getProjectList 函数发送服务器响应,那么一切正常。

谢谢您的帮助!

4

1 回答 1

2

@Project.find是一个异步函数,一旦find结果可用,就会调用您的匿名回调。 getProjectList返回在该函数中执行的最后一个同步语句的结果,即 的返回值@Project.find。这不是projects您的回调返回的数组,而是您在响应中看到的查询对象。

于 2012-09-20T01:30:26.930 回答