Я новичок в Uniswap и GraphQL... Я пытаюсь получить цену ETH с помощью node.js и получаю следующий вызов. К сожалению, тело ответа по какой-то причине undefined. Не могли бы вы сообщить мне, что я могу здесь делать не так?
const uniSwapResponse = await fetch("https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v2", {
method: "POST",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
},
body: JSON.stringify({ query: '{ bundle(id: "1" ) {ethPrice} }' })
});
console.info(uniSwapResponse.data);
Обновлено:
Ниже мне помогло:
fetch("https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v2", {
method: "POST",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
},
body: JSON.stringify({ query: '{ bundle(id: "1") {ethPrice} }' })
}).then(r => r.json())
.then(data => console.info("ETH price:", data.data.bundle.ethPrice))
Спасибо,
Дуг



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете использовать await только в функции async.
Самый простой подход:
fetch("https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v2", {
method: "POST",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
},
body: JSON.stringify({ query: 'ethPrice { bundle(id: "1") { ethPrice } }' })
})
.then((response) => { console.info(response) });
Также проверьте этот пост.
Ну, я использую jsFiddle, и он дает мне полный объект ответа, с arrayBuffer, blob, телом и т. д.
Большое спасибо, Джерри, я отредактировал свой вопрос, но спасибо, что направил меня на правильный путь...
Большое спасибо за ваш ответ, Джерри. Я завернул его в асинхронную функцию. Проблема больше в том, как я каким-то образом делаю запрос. Если вы запустите свой код в проекте узла, вы также должны получить неопределенный ответ. Не могли бы вы сообщить мне, если заметите другой ответ с вашей стороны?