Javascript 为什么我的应用程序崩溃而不是从回调传递错误

Javascript 为什么我的应用程序崩溃而不是从回调传递错误,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我正在学习node.js,并在代码中查找导致其崩溃的错误,而不是传递错误 const db = client.db(dbName); db.collection(cName).aggregate([ { query } ]).toArray((err, result) => { if (err) {

我正在学习node.js,并在代码中查找导致其崩溃的错误,而不是传递错误

const db = client.db(dbName);
db.collection(cName).aggregate([
                {
                   query
                }
            ]).toArray((err, result) => {
                if (err) {
                    callBack(err);
                } else {
                    callBack(null, result);
                }
            });                                                                            
例如,当我没有传递dbName/CollectionName时,应用程序崩溃,需要我重新启动

MongoError:

集合名称不能为空

数据库名称必须是字符串


请告知。

在返回回调之前,似乎发生了错误。在
try catch
块中添加代码

试试这个:

try {
  const db = client.db(dbName);
  db.collection(cName).aggregate([
    {
      query
    }
  ]).toArray((err, result) => {
    if (err) {
      callBack(err);
    } else {
      callBack(null, result);
    }
  });
} catch (error) {
  console.log(error);
}

您的代码没有显示要实际调用的
回调
参数。它来自哪里?