У меня есть этот запрос, который я пытаюсь проверить по причине библиотеки graphql_ppx. суть кода
Это снимок экрана с аннотациями типа редактора:
Используя библиотеку @ mhallin / graphql_ppx, я настроил следующий запрос:
module FilmQuery = [%graphql
{|
{
allFilms {
films {
id
title
releaseDate
}
}
}
|}
];
exception Graphql_error(string);
/* Construct a "packaged" query; FilmQuery takes no arguments: */
let filmQuery = FilmQuery.make();
/* Send this query string to the server */
let query = filmQuery##query // type string
Я получаю следующую ошибку, когда отправляю запрос на сервер, он возвращает следующую ошибку.
{ errors: [ { message: 'Must provide query string.' } ] }
Но если вы выполните Js.log (запрос), вы увидите, что он создается , который работает на https://swapi.apis.guru а>
query films($first: Int) {
allFilms(first: $first) {
films {
id
title
releaseDate
}
}
}
Если вы используете Js.log (filmQuery), вы получите:
{ query: 'query {\nallFilms {\nfilms {\nid \ntitle \nreleaseDate \n}\n}\n}',
переменные: null, parse: [Функция: parse]}
Если вы запустите тот же запрос в Altair и проверите запрос, который был отправлен на вкладке сети devtools, вы увидите:
{"query":" query films($first: Int) {\n allFilms(first: $first) {\n films {\n id\n title\n releaseDate\n }\n }\n }\n","variables":{}}
В редакторе предусмотрена ошибка такого типа: "- error [bucklescript] Это имеет тип: string Но где-то требуется: Js.t ({.. query: string, variables: Js.Json.t}) string"
Как мне разрешить этот промис / тип единицы? Спасибо.
Итак, новый вопрос: почему функция sendQuery () не распознает ключ filmQuery##parse
?
filmQuery
вsendQuery
вместо переменнойquery
. - person Neil Kistner   schedule 25.02.2018