【问题标题】:Node Parsing Error: unexpected token when returning [closed]节点解析错误:返回时出现意外令牌[关闭]
【发布时间】:2017-02-12 07:59:58
【问题描述】:

我正在尝试向映射数组返回一个值,该值的名称是 latestDeploymentDate,但是,我收到了一个解析错误,如标题中所示。我想使用ta.ago 函数返回最新部署的时间,但是,由于这个原因,我收到一个解析错误,我想创建一个包含时间的单独数组,但似乎无法让它工作.需要这样返回,因为时间会有多个实例,需要返回才能输出。

    const express = require('express')();
    const request = require('request');
    const moment = require('moment');
    const ta = require('time-ago')();

    const webApplications = require('./XXX.json');



    express.listen(3000, function() {

      console.log('XXX...');
      express.get('/', function(req, res) {
        res.json(webApplications.map((item, latestDeploymentDate) => {
          res.setHeader('Access-Control-Allow-Origin', '*');
          res.setHeader('Access-Control-Allow-Headers', true);
          const newrequest = {
            url: `XXX`,
            headers: {
              'X-Api-Key': 'XXX'
            }
          }
          const gitlabRequest = {
            url: `XXX`,
            headers: {
              'PRIVATE-TOKEN': 'XXX'
            }
          }
          request(newrequest,(err, resp, body) => {
            const data = JSON.parse(body);
            const latestDeployment = data.deployments[0];
            latestDeploymentDate = new Date(latestDeployment.timestamp);

            //  console.log(latestDeploymentDate, laz1testDeployment);
            // res.json({latestDepoloyment: latestDeployment});
            //  return;

            request(gitlabRequest, (err, resp, body) => {
              const gitlabData = JSON.parse(body);
              const currentTag = latestDeployment.description;
              var currentIndex;

            console.log(`${item.appName}` + ' ');
            console.log(`Last deployed: ${latestDeployment.description}
              on ${moment(latestDeploymentDate).format('YYYY-MM-DD')}`);

              gitlabData.find((item, index) => {
                currentIndex = index;
                return item.name == currentTag
              });
              if (currentIndex > 3) {
${ta.ago(latestDeploymentDate)}`);
                console.log(`This ${currentIndex} was released ${ta.ago(latestDeploymentDate)}`);
                var deployedDate = ta.ago(latestDeploymentDate);
              } else {
${ta.ago(latestDeploymentDate)}`);
                var deployedDate = ta.ago(latestDeploymentDate);
                console.log(`This ${currentIndex} was released ${ta.ago(latestDeploymentDate)}`);
              }
              //  res.end();
            })
          })
          return {appName: item.appName, ta.ago(latestDeploymentDate)};
        }));
      });
    })

【问题讨论】:

  • 你能发布错误堆栈跟踪吗?
  • /Users/jba71/last-app-web/server-copy-new.js:66 return {appName: item.appName, ta.ago(latestDeploymentDate)}; ^ SyntaxError: Unexpected token 。在 export.runInThisContext (vm.js:53:16) 在 Module._compile (module.js:387:25) 在 Object.Module._extensions..js (module.js:422:10) 在 Module.load (module .js:357:32) 在 Function.Module._load (module.js:314:12) 在 Function.Module.runMain (module.js:447:10) 在启动时 (node.js:148:18) 在节点.js:405:3

标签: javascript json node.js parsing mapping


【解决方案1】:

返回对象中缺少 json 键:

return {appName: item.appName, MYKEY: ta.ago(latestDeploymentDate)};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-24
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    相关资源
    最近更新 更多