Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-express、node和CSVtoJSON_Javascript_Node.js_Api_Express_Promise - Fatal编程技术网

JavaScript-express、node和CSVtoJSON

JavaScript-express、node和CSVtoJSON,javascript,node.js,api,express,promise,Javascript,Node.js,Api,Express,Promise,我目前正在为一位同事开发一个“Dupe Finder”web应用程序。这是我第一次使用“csvtojson”软件包 我在服务器上读取的文件很好,但是当我将响应发送回客户机(理想情况下包含json对象)时,我会得到一个非常奇怪的控制台日志,我不确定它是否正确: 为了得到这个响应,我在主页上有一个按钮,当单击时,客户机在服务器的主目录上发出一个http请求,名为“/getnums”。从CSV读取的请求应返回,并带有其内容的obj。在截图中,如果我点击promiseValue旁边的勾号,它会给我一个

我目前正在为一位同事开发一个“Dupe Finder”web应用程序。这是我第一次使用“csvtojson”软件包

我在服务器上读取的文件很好,但是当我将响应发送回客户机(理想情况下包含json对象)时,我会得到一个非常奇怪的控制台日志,我不确定它是否正确:

为了得到这个响应,我在主页上有一个按钮,当单击时,客户机在服务器的主目录上发出一个http请求,名为“/getnums”。从CSV读取的请求应返回,并带有其内容的obj。在截图中,如果我点击promiseValue旁边的勾号,它会给我一个数组。但我不知道为什么它会回报一个承诺..无论如何

api.js:

var CSVDATA = () => {
fetch('/getnums')
    .then(res => {
        console.log(res.json())
    })
}

export default {
    CSVDATA,
}
“/getnums”转到我的路由器,它是simly router.get(“/”,mainController.getnums)

在控制器中,读数开始:

const csv = require('csvtojson')

module.exports = {
getNums: (req, res, next) => {
    const csvFilePath = `${__dirname}/../../client/readFrom/main.csv`
    csv().fromFile(csvFilePath)
        .then(jsonObj => {
            return res.status(200).json(jsonObj)
        })
        .catch(e => {
            req.error = e
            next()
        })
    },
}

有人知道这里发生了什么吗?

这就是
.json()
的工作原理

它返回承诺,因此您需要异步处理它

var CSVDATA = () => {
    fetch('/getnums')
        .then(res => res.json())
        .then(json => console.log(json));
}

export default {
    CSVDATA,
}

这就是
.json()
的工作原理

它返回承诺,因此您需要异步处理它

var CSVDATA = () => {
    fetch('/getnums')
        .then(res => res.json())
        .then(json => console.log(json));
}

export default {
    CSVDATA,
}

最后一个问题,我知道这会发生,因为我以前在承诺中看到过。现在我有了这个对象,这里有一个随机键:8008336917。这不是我的csv文件中任何地方或任何东西的“密钥”。有没有办法“剥”掉该密钥?我相信该
密钥是csv文件的第一行。最后一个问题是看看库的标题选项,我知道这会发生,因为我以前在Promise中看到过。现在我有了这个对象,这里有一个随机键:8008336917。这不是我的csv文件中任何地方或任何东西的“密钥”。有没有办法“剥”掉该密钥?我相信该
密钥是csv文件的第一行。看看库的标题选项