Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何调试Apollo服务器';什么是上下文功能?_Javascript_Node.js_Apollo_Apollo Server_Javascript Debugger - Fatal编程技术网

Javascript 如何调试Apollo服务器';什么是上下文功能?

Javascript 如何调试Apollo服务器';什么是上下文功能?,javascript,node.js,apollo,apollo-server,javascript-debugger,Javascript,Node.js,Apollo,Apollo Server,Javascript Debugger,我试图遵循GraphQL教程(),但在尝试预订旅行时,我在操场上遇到了一个错误,堆栈跟踪如下所示: "TypeError: Cannot read property 'id' of null", " at UserAPI.bookTrips (/Users/kurtpeek/Documents/Scratch/fullstack-tutorial/start/server/src/datasources/user.js:35:38)", 在src/index.

我试图遵循GraphQL教程(),但在尝试预订旅行时,我在操场上遇到了一个错误,堆栈跟踪如下所示:

 "TypeError: Cannot read property 'id' of null",
            "    at UserAPI.bookTrips (/Users/kurtpeek/Documents/Scratch/fullstack-tutorial/start/server/src/datasources/user.js:35:38)",

src/index.js
中,
ApolloServer
()使用异步
context()
函数定义,如下所示:

const{ApolloServer}=require('apollo-server');
const typeDefs=require('./schema');
const{createStore}=require('./utils');
const resolvers=require(“./resolvers”);
const LaunchAPI=require(“./datasources/launch”);
const UserAPI=require('./数据源/用户');
const isEmail=require('isEmail');
const store=createStore();
const server=新服务器({
上下文:异步({req})=>{
调试器;
const auth=(req.headers和&req.headers.authorization)| |“”;
const email=Buffer.from(auth,'base64').toString('ascii');
if(!isEmail.validate(email))返回{user:null};
const users=wait store.users.findOrCreate({where:{email}});
const user=users&&users[0]?users[0]:null;
返回{user:{…user.dataValues}};
},
typeDefs,
解析器,
数据源:()=>({
launchAPI:新的launchAPI(),
userAPI:newuserapi({store})
})
});
server.listen().then({url})=>{

console.log(`最后,我只是使用
console.log()
命令对其进行了调试。我不小心将
authorization
放在了“查询变量”部分,而不是“HTTP标头”部分。将其移动到“HTTP标头”会产生所需的结果: