首页 > 解决方案 > 使用 Mongoose.disconnect() 的问题

问题描述

我有一个断开功能如下:

```
export function disconnectN(): Promise<void> {
    return new Promise<void>((resolve,_reject) => {
        if (!database) {
            return;
        }
        Mongoose.disconnect();
        console.log("  <databaseNorm.ts> Disconnected from database");
        return;
    });
}
```

但是,当我用以下方式调用它时:

`await disconnect();` 

在我的主模块中,似乎程序将进入一个很长的暂停状态,并且不会继续我的下一行。

我是打字稿和异步/等待概念的新手,我很难理解它(习惯于结构化编程)。

我会很感激任何人的帮助。

标签: typescriptmongoosedisconnect

解决方案


mongoose.disconnect()返回一个承诺,因此您可以将函数简化为:

export function disconnect(): Promise<void> {
    if(!database)
        return Promise.resolve();
    return Mongoose.disconnect().then(() => console.log("  <database.ts> Disconnected from database"));
}

推荐阅读