首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使猫鼬找到().then()工作

无法使猫鼬找到().then()工作
EN

Stack Overflow用户
提问于 2020-08-11 10:22:21
回答 1查看 37关注 0票数 0

遇到了猫鼬的问题。

代码语言:javascript
复制
import express from 'express';
import Countries from '../models/countries.mjs';

const router = new express.Router();

router.get('/countries-data', async (req, res) => {
  try {
    let countries =
        await Countries.find({})
            .select(
                '-_id specimenDate dailyLabConfirmedCases changeInDailyCases')
            .sort('specimenDate');

    if (!countries) return res.status(500).send();

    res.json(countries);
  } catch (err) {
    res.status(500).send();
  }
});

这段代码按照预期工作,但我决定删除异步/等待并使用find().then()来代替:

代码语言:javascript
复制
import express from 'express';
import Countries from '../models/countries.mjs';

const router = new express.Router();

router.get('/countries-data', (_, res) => {
  Countries.find({})
      .select('-_id specimenDate dailyLabConfirmedCases changeInDailyCases')
      .sort('specimenDate')
      .then((countries) => {
        if (!countries) throw Error('no data');

        res.json(countries);
      })
      .catch(res.status(500).send());
});

当试图发送json数据时,这个异常会出现:

UnhandledPromiseRejectionWarning:错误ERR_HTTP_HEADERS_SENT:无法在标头发送到客户端后设置它们

我真的不知道我做错了什么。为什么抓不到承诺的例外呢?有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2020-08-11 11:00:09

我认为问题产生于您在catch块中发送的响应,因为catch接受一个回调函数,如果存在错误,该函数将返回一个错误。

试试这个:

代码语言:javascript
复制
import express from 'express';
import Countries from '../models/countries.mjs';

const router = new express.Router();

router.get('/countries-data', (_, res) => {
   Countries.find({})
  .select('-_id specimenDate dailyLabConfirmedCases changeInDailyCases')
  .sort('specimenDate')
  .then((countries) => {
    if (!countries) throw Error('no data');

    res.json(countries);
  })
  // refactor your code like this
  .catch((err)=>{
   res.status(500).send(err)
  });

});

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63356181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档