TypeError: resolver is not a function 类型错误:resolver不是一个函数
TypeError: resolver is not a function 类型错误:resolver不是一个函数
我正在尝试在我的NextJS应用程序中创建一个基本的点击后发布到MongoDB数据库的帖子。我遇到的问题是`TypeError: resolver is not a function`。我知道这可能是一个同步问题,但是我无法找出具体原因。
使用的堆栈:NextJS,Axios,Mongoose。
调用axios的组件代码片段:
我知道状态正在更新,所以我只放了处理请求的片段
handleSubmit = async (e: any) => { e.preventDefault(); await axios .post('/api/roomSession', { roomName: this.state.roomName, teamName: this.state.teamName }) .then((response: any) => console.log('axios call reached', response)) .catch((error: any) => console.log('---- error! ----', error)); }; [...] [...]
NextJS API文件:
import { newSession } from '../../packages/backend/mongo/connection'; const apiNewSession = async (roomName, teamName) => { await newSession(teamName, roomName); }; export default apiNewSession();
Mongoose文件:
const mongoose = require('mongoose'); mongoose .connect( 'mongodbconnection', { useNewUrlParser: true, useUnifiedTopology: true } ) .then(() => { console.log('connected to mongoDB'); }) .catch(err => console.error('Connection failed: ', err)); const sessionSchema = new mongoose.Schema({ teamName: String, roomName: String }); const Session = mongoose.model.tests || mongoose.model('tests', sessionSchema); export const newSession = async (teamName, roomName) => { const session = new Session({ teamName, roomName }); const result = await session.save(); mongoose.connection.close(); };
关于奇怪行为的一些额外信息:第一次调用时,代码会抛出上述错误,但能够连接到MongoDB并在集合中创建一个空条目(只有_id和_v)。
第二次尝试时,只会抛出错误。