#node.js #express #axios
Вопрос:
Я пытаюсь создать сервер с помощью express. Для этого мне нужно получить данные из конечной точки, которая должна возвращать массив, но когда я пытаюсь получить их с помощью axios, происходит что-то странное. Чтобы объясниться, мне нужно показать вам код:
const express = require('express')
const app = express();
const port = 8080;
const endpoint = "https://neelpatel05.pythonanywhere.com/";
const axios = require('axios');
app.get('/', (req, res) => {
axios.get(endpoint).then((data) => {
res.send(data.data)
console.log(typeof data.data)
}).catch((err) => console.log(err));
[...]
})
app.listen(port, ()=> {
console.log("listen to port 3000")
})
В res.send(data.data)
браузере правильно отображается массив и все его объекты. Но если я сделаю typeof
из data.data
этого возврат object
. Я застрял, так как не могу манипулировать данными так, как мне хочется. Я уже пытался Object.values()
, но безуспешно.
Надеюсь, я ясно выразился. Любые идеи о том, что происходит, очень приветствуются.
Я оставляю здесь песочницу для всех, кто хочет увидеть результат:
https://codesandbox.io/s/summer-snow-vijnp?file=/src/index.js:0-426
Комментарии:
1. Массивы показывают
typeof
«объект». В этом нет ничего плохого. Массив не является отдельным фундаментальным типом в Javascript. Если вы хотите посмотреть, является ли это массивом, вы можете это сделатьArray.isArray(someData)
.