打字稿错误代码:2366,函数缺少结尾的return语句,并且返回类型不包含“ undefined”

时间:2020-07-01 19:41:19

标签: javascript mongodb typescript server typescript-generics

我目前正在我项目的服务器/数据库上工作。它目前由Javascript,Typescript,MongoDB,Apollo-Server和Express组成。上面的错误不断出现,我不确定如何解决。这是我在数据库文件夹的index.ts文件中的代码。

import { MongoClient } from "mongodb";
import { Database, Listing, Booking, User } from '../lib/types';


const url = `mongodb+srv://${process.env.DB_USER}:${process.env.DB_USER_PASSWORD}@${process.env.DB_CLUSTER}.mongodb.net`;

export const connectDatabase = async (): Promise<Database> => {
  try {
    const client = await MongoClient.connect(url, { useNewUrlParser: true, useUnifiedTopology: true });
    const db = client.db("main");

    return {
      bookings: db.collection<Booking>("bookings"),
      listings: db.collection<Listing>("listings"),
      users: db.collection<User>("users"),
    };
  } catch (error) {
    console.log(error);
  }
};

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您正在捕获错误,但随后没有从该函数返回任何内容。这就是为什么它抱怨。要么删除try / catch并处理调用此函数的函数中的错误,要么将可用的东西返回给调用者。