#javascript #node.js #async-await #fetch
#javascript #node.js #асинхронный-ожидание #выборка
Вопрос:
Когда я пишу это в консоли в devtools:
const response = await fetch("http://localhost:5001/api/products", {
headers: {"Content-Type":"application/json"}
});
const products = await response.json();
Я могу успешно получить данные.
Но когда я запускаю свой проект node с тем же кодом в файле JS, я получаю следующую ошибку:
Uncaught SyntaxError: Unexpected reserved word
Комментарии:
1. Какую версию узла вы используете? (вы можете найти это с
node --version
помощью)2. У вас установлена node-fetch ?
3.
v12.18.1
. Попробовал предложение @3limin4t0r, но безуспешно.4. @ciaodejan Вам требовалась библиотека после установки? Если вы этого не сделали, вы все равно не сможете использовать
fetch
. Убедитесь, что у вас естьconst fetch = require('node-fetch')
, как описано в разделе Загрузка и настройка модуля5. Это не
fetch
не распознается, этоawait
ключевое слово.
Ответ №1:
await
не может использоваться вне async
функции, если вы не находитесь на узле 14.3.0 и не используете ESM. Оберните код в подобный блок (async () => { /* your code here /* })();
, и все должно быть готово.