节点路由响应未设置

时间:2017-01-16 17:18:45

标签: node.js express typescript typeorm

有点新节点和打字稿所以需要一些帮助。 使用node / express / postres作为后端,使用https://github.com/typeorm/typeorm作为orm,它具有打开连接的功能,如下所示:

export declare function createConnection(): Promise<Connection>;

因此,当我想在我的路线中使用它时,它看起来像那样:

    this.app.get("/test", function (req, res) {

        createConnection()
            .then(conn => {
                console.log("Start connection...");
                let repo = conn.getRepository(entForum);

                let obj = repo.find();
                conn.close().catch(err => { });
                return obj;
            })
            .then(data => {
                res.send(data);
            });

        console.log("Done");
    });

控制台输出是:

Done
GET /test/ 200 51.053 ms - 1133
Start connection...

我遇到的问题是'发送后无法设置标头'。 看起来响应是在console.log(“DONE”)之后发送的;再承诺一次。 我在这做错了什么?

1 个答案:

答案 0 :(得分:0)

好的,发现了什么问题。事实证明问题是承诺后的这段代码 - console.log("Done");

如果我删除它,一切正常。