node.js: не могу понять, в чем проблема с fetch

Пытаюсь прочитать корректный json файл по url: https://junecat.ru/Storage/Others/data.json

Пишу минимально возможный файл, который в node.js прочитает этот json-чик и выведет его в консоль.

Создаю index.js следующего содержания:

    import fetch from 'node-fetch'

    ReadJsonByHttp();

    async function ReadJsonByHttp(){
        let url = 'https://junecat.ru/Storage/Others/data.json';
        let response = await fetch(url);
        let jtxt = await response.json;
        console.log('response json: ' + jtxt);
    }

Результат, который выводится, просто огорошивает меня: нода выводит.... фанфары...

определение функции response.json!

я такого не видел никогда в своей жизни.

    node index.js
    (node:10540) ExperimentalWarning: stream/web is an experimental feature. This feature could change at any time
    (Use `node --trace-warnings ...` to show where the warning was created)
    response json: async json() {
                    const buffer = await consumeBody(this);
                    return JSON.parse(buffer.toString());
            }

При этом у меня есть packaje.json

{
  "name": "test-folder",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "junecat",
  "license": "no",
  "dependencies": {
    "node-fetch": "^3.0.0",
    "axios": "^0.16.2"
  }
}

Я понимаю, что я что то делаю не так, но я делаю в точности как написано в хелпе:

Не могли бы Вы привести мне какой то понятный пример использования fetch?

Спасибо большое!


Ответы (1 шт):

Автор решения: Dmitry

В документации указано, что response имеет метод json
Буквально

response.json() – декодирует ответ в формате JSON,

то есть здесь наблюдается опечатка, должно выглядеть вот так

async function ReadJsonByHttp(){
    let url = 'https://junecat.ru/Storage/Others/data.json';
    let response = await fetch(url);
    let jtxt = await response.json(); // здесь опечатка
    console.log('response json: ' + JSON.stringify(jtxt));
}
→ Ссылка