Определение источников данных сервера Apollo приводит к ошибке - PullRequest
0 голосов
/ 26 октября 2018

У меня проблемы с созданием источника данных REST с использованием сервера Apollo graphql У меня есть файл data.js для определения источника данных REST следующим образом:

    const { RESTDataSource } = require('apollo-datasource-rest');

    class MyAPI extends RESTDataSource {
        constructor() {
            super();
            this.baseURL = 'https://my-end-point;
        }

        async fetchData(what) {
           return this.get(`myparam`);
        }
   }

Затем я импортирую это в resolver.js следующим образом:

const myAPI = require('./data');
export const resolvers = {
     Query: {
          field () => {
             return myAPI.fetchData(param);
           }
     }
}

Когда я запускаю это, появляется следующая ошибка:

myAPI.fetchData is not a function

Некоторые входные данные были бы очень полезны.

1 Ответ

0 голосов
/ 29 октября 2018

Ваш модуль экспортирует класс, и это то, что вы импортируете, но вы никогда не создаете его экземпляр. Вам нужно получить экземпляр MyAPI, позвонив по номеру new MyAPI(). Затем вы можете позвонить fetchData в этом случае. Просто обновите ваш модуль, чтобы экспортировать экземпляр:

module.exports = new myAPI()
...