Apollo Server 不能在异步函数之外使用await

问题描述 投票:0回答:1

我正在尝试设置 Apollo 服务器并使用

startStandaloneServer
方法来启动服务器,但它显示错误,
await
无法在
async
函数之外使用。

我使用这个网站作为参考startStandaloneServer这是我的代码。

import { ApolloServer } from '@apollo/server';
import { startStandaloneServer } from '@apollo/server/standalone';

import { typeDefs } from "./schema.js";
import db from "./_db.js";

const resolvers = {
  Query: {
    games() { return db.games },
    reviews() { return db.reviews },
    authors() { return db.authors }
  }
};

const server = new ApolloServer({
  typeDefs,
  resolvers
});

const { url } = await startStandaloneServer(server); //I am getting an error here

console.log("Server started at port:", 4000);

这是我的

package.json
。我已将
type
更改为
module

{
  "name": "Graphql",
  "version": "0.1.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "dependencies": {
    "express": "^4.18.2",
    "@apollo/server": "^4.10.0",
    "graphql": "^16.8.1"
  },
  "engines": {
    "node": "14.x"
  },
  "license": "MIT",
  "type": "module",
  "keywords": [
    "node",
    "glitch"
  ]
}
node.js async-await graphql apollo apollo-server
1个回答
0
投票

如果您使用打字稿,您应该将 tsconfig.json 中的目标更改为“ESNext”,并将 package.json 中的类型设置为“module”,它应该可以工作。这就是我的情况

© www.soinside.com 2019 - 2024. All rights reserved.