Я пытаюсь console.info преобразователя в приложении graphql. Часть graphiql работает (я могу запустить сервер и увидеть панель управления graphql, а затем использовать корневой запрос для получения результатов в панели браузера), но я не могу console.info с теми же результатами в консоли моего браузера. Вот мой код:
const GetBooks = {
type: new GraphQLList(BookTypes),
args: {},
resolve() {
return new Promise((resolve, reject) => {
let sql = singleLineString`
select * from books
`;
sql = mysql.format(sql);
pool.query(sql, (err, results) => {
if (err) {
reject(err);
}
resolve(results);
console.info(resolve(results));
});
});
}
};
Часть кода, которая «не работает», - это часть кода console.info (resolve (results)). Может кто-нибудь указать, почему это не работает?


console.info, который вы используете, находится не на стороне клиента.
Он регистрирует результат на стороне сервера, а не в браузере. Проверьте свою командную строку, которая запустила сервер GraphQL, журналы должны быть там.
Я в такой же ситуации, вы это решили?
@ BenoîtPilatte кто-нибудь придумал решение этой проблемы?
@DanMandel Мое обходное решение - выдать ошибку и уловить ее в браузере. Но мне нужно было сделать это только один раз, поэтому я не собираюсь искать ошибку.
Код вопроса выше находится на стороне сервера. select * from.. - это серверный код. Я предполагаю, что graphql либо каким-то образом переопределяет console object - либо запускается в другом child-process - а console.info .. происходит в дочернем процессе ... поэтому мы ничего не видим в родительском процессе. И standard error stream захватывается и отправляется в браузер ... вот почему вы можете увидеть throw Error внутри resolver в браузере - но в main process не обнаруживается никаких исключений. Таким же образом они предотвращают сбой формы main process - и сообщают об этом клиенту.
Я тоже так думал, но командная строка тоже не выводит console.info; Я могу видеть другие сообщения console.info, которые я настроил в index.js и schema.js, но не могу выводить данные из файла запроса, хотя панель управления graphiql работает!