Error: Can't set headers after they are sent Ember/Nodejs

Error: Can't set headers after they are sent Ember/Nodejs

我正在尝试从 API 中获取数据,如果您看到控制台,您会发现控制台中显示了一大块 JSON 变量 a2。

但我想 res.json(a2); 将网页上的所有 json 显示为 JSON 数据。

我收到一个错误 --

Error: Can't set headers after they are sent.

我该怎么办>

var express = require('express');
var app = express();
const port = 5000;

var gotit = [];
var Request = require("request");
Request.post({
    "headers": {
        "content-type": "application/json",
        "Authorization": "34ca0e9b-ecdd-4736-a432-d87760ae0926"
    },
    "url": "https://www.lifeguard.insure/v1/quote",
    "body": JSON.stringify({
        "category": "Auto",
        "zipcode": "90293",
        "age": 35,
        "gender": "Male",
        "key": "a2bf34ab-8509-4aa6-aa9e-13ae7917e1b8"
    })
}, (error, response, body) => {
    if (error) {
        return console.dir(error);
    }
    var a2 = (JSON.parse(body));
    console.log(a2)
    gotit = a2;
});

console.log("Gotiit")
console.log(gotit);

app.get('/api/customers', (req, res) => {
    res.json(gotit);
});

app.listen(port, () => console.log("Server Started"));

您似乎是在服务器启动时发出该请求?

如果在路由处理程序中发出请求,也许它会起作用?

喜欢,

app.get('/api/customers', (req, res) => {
   var gotit = [];

   // all that request code, but in here

   res.json(gotit);
});