我浏览了有关此主题的其他问题,但找不到解决此问题的方法。我正在按照this tutorial使用MERN堆栈构建待办事项应用程序(我在16:00分钟左右被困住了)。
当我尝试启动服务器时,我收到了弃用警告,提示“当前URL字符串解析器已弃用,并将在以后的版本中删除。要使用新的解析器,请将选项{useNewUrlParser:true}传递给MongoClient.connect”,以及未处理的承诺拒绝-“此错误是由于在没有catch块的情况下抛出异步函数而引起的,或者是拒绝了未经.catch()处理的承诺”。
我尝试在代码中添加catch块,但仍然收到错误。任何帮助,将不胜感激。
const { GraphQLServer } = require('graphql-yoga')
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
const Todo = mongoose.model('Todo', {
text: String,
complete: Boolean
});
const typeDefs = `
type Query {
hello(name: String): String!
}
type Todo {
id: ID
text: String!
complete: Boolean!
}
type Mutation {
createTodo(text: String!): Todo
}
`
;
const resolvers = {
Query: {
hello: (_, { name }) => `Hello ${name || "World"}`,
},
Mutation: {
createTodo: async (_, { text }) => {
const todo = new Todo({ text, complete: false });
await todo.save();
return todo;
}
}
};
const server = new GraphQLServer({ typeDefs, resolvers })
mongoose.connection.once('open', function() {
server.start(() => console.log('Server is running on localhost:4000'));
});