Я занимаюсь разработкой сервера node.js для получения внешних данных API, а затем использую свою клиентскую часть для получения данных с моего сервера узлов, вместо того чтобы делать вызовы к сайтам API.
Я использую экспресс, axios, https
Я создал конечные точки для моего node.js
один из рабочих примеров:
const URL3 = https://strainapi.evanbusse.com/${STAIN_API}/strains/search/all
;
var myDta = https.get(URL3, (resp) => {
let i = 1;
let data = '';
resp.on('data', (chunk) => {
data += chunk;
});
resp.on('end', () => {
strains = JSON.parse(data)
return strains
});
}).on("error", (err) => {
console.log("Error: " + err.message);
});
var strains = myDta
app.get("/orders", (req, res, next) => {
res.json(myDta);
})
и конечная точка отлично работает в node.js.
Теперь, чтобы получить сообщение WordPress, которое я делаю:
const URL1='https://example.com/wp-json/wp/v2/posts'
var postData = axios.get(URL1)
.then(response => response.data)
.then((data) => {
pushPost = [];
k = data[0]
pushPost.push(k)
console.log('my data ', pushPost) //This gives me the post data
return pushPost
})
var postDataRes = postData
console.log('this pushpost ', postDataRes)
//this gives me an empty array
app.get("/posts", (req, res, next) => {
res.json(postDataRes)
})
но я получаю и очищаю объект, но в консоли я могу получить желаемую запись, используя:
console.log('my data ', pushPost)
не могу понять, почему я не могу отправить данные сообщения в конечную точку на моем сервере node.js.