Node.js 如何使我的API函数返回“;“字符串”;到Redis SETEX值

Node.js 如何使我的API函数返回“;“字符串”;到Redis SETEX值,node.js,express,redis,httprequest,Node.js,Express,Redis,Httprequest,我正在使用Node.js和express.js构建一个网站,并在后端调用API 但是我有点困惑如何让我的https请求同时返回字符串 因为我还需要它将stringfy JSON数据返回到Redis SETEX函数 下面是我的代码 //我相信这很好用 function myweb(para1, para2, para3, res) { https.get({ hostname: 'api.com', path: '/search?q=' + para1 +

我正在使用Node.js和express.js构建一个网站,并在后端调用API

但是我有点困惑如何让我的https请求同时返回字符串

因为我还需要它将stringfy JSON数据返回到Redis SETEX函数

下面是我的代码

//我相信这很好用

function myweb(para1, para2, para3, res) {

    https.get({
      hostname: 'api.com',
      path:     '/search?q=' + para1 + '&offset=' + para2 + '&filter=' + para3,
      headers:  { 'Ocp-Apim-Subscription-Key': SUBSCRIPTION_KEY },
    }, response => {
      body = '';
      response.on('data', part => {
          body += part; 
      })
      response.on('end', () => {
        res.setHeader('Content-Type', 'application/json');
        res.end(JSON.stringify(JSON.parse(body)));
      })
    })
}
//我在尝试建立服务器缓存时感到困惑

const redisPort = 6379;
const client = redis.createClient(redisPort);

app.get("/job", (req, res) => {
    const aaa = `${req.query.q}`;
    const bbb = `${req.query.offset}`;
    const ccc = `${req.query.filter}`;

    try {
        client.get(aaa, async (err, jobs) => {
            if (err) throw err;
    
            if (jobs) {
                return jobs;
            } else {
                const jobs = myweb(aaa, bbb, ccc, res);
                client.setex(aaa, 600, JSON.stringify(jobs));
            }
        });
    } catch(err) {
        res.status(500).send({message: err.message});
    }
  });
我的日志告诉我,我试图在
client.setex
的第三个参数中给出一个未定义的参数(即
JSON.stringify(jobs)

但是不管我怎么做,我都不能让我的函数
myweb
返回一个合适的值给SETEX

我想我可能对https请求有一些误解,但我不确定

请帮忙。。。谢谢大家!