node.js - 为什么 Axios 在 Express 中返回 "bound consoleCall"?

标签 node.js express axios

我以前从未见过这种情况,但我有一个 Express 应用程序正在运行,并且在本地主机端口上 Axios 返回请求没有问题,但在本地主机域上它返回“绑定(bind)的 consoleCall”。有谁有这方面的经验并知道这意味着什么吗?

<meta property="og:title" content="bound consoleCall" />

helpers.js

const axios = require('axios');
const {
  titleSuffix,
  organizationPath,
  varietyPath
} = require('./constants');

let organizationData = {};
let varietyData = {};

const Helpers = {
  fetchOrganization: (organizationID) => {
    return axios
      .get(organizationPath + organizationID)
      .then(response => {
        const organizationData = response.data.data;
        return organizationData
      })
      .catch(err => console.error);
  },

  setOrgSocialMeta: (growerHash, res) => {
    return Helpers.fetchOrganization(growerHash)
      .then(org => {
        return org.name + titleSuffix;
      });
  }
};

module.exports = Helpers;

服务器.js

const {
  setOrgSocialMeta,
  setVarSocialMeta
} = require('./helpers');

app.get(['/org/:growerHash/*', '/_org/:growerHash/*'], (req, res) => {
  setOrgSocialMeta(req.params.growerHash, res)
    .then(orgTitle => {
      res.locals.meta.title = orgTitle;
      res.locals.meta.og.title = orgTitle;
      res.render('org');
    });
});

最佳答案

这意味着axios请求失败,但失败没有被正确处理;实际错误未知,因为它被抑制了。

.catch(err => console.error) 导致捕获错误并使用 console.error 函数解决,该函数被字符串化为绑定(bind)的 consoleCall.

应该是

.catch(err => console.error(err))

.catch(console.error);

或者,由于拒绝不被视为成功响应,因此 fetchOrganization 中不应有 catch,但应在路由处理程序中处理错误:

app.get(['/org/:growerHash/*', '/_org/:growerHash/*'], (req, res, next) => {
  setOrgSocialMeta(req.params.growerHash, res)
    .then(...)
    .catch(next); // passed to error-handling middleware
});

关于node.js - 为什么 Axios 在 Express 中返回 "bound consoleCall"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51427136/

相关文章:

javascript - 无法在 Nodejs 中访问数据库结果,它总是返回 null

reactjs - React router v6 如何使用 `navigate` 。 Axios 拦截器

excel - 使用 POST 下载 Axios Excel 文件会导致文件损坏

javascript - Socket.io:发出消息是否将所有数据发送到所有客户端?

javascript - 在 Javascript 中创建一个函数,将文本文件读入字符串并搜索字符以更改它们

node.js - 使用 Next.JS、Express 和 Passport 进行用户身份验证的简单示例

node.js - 获取http ://localhost/socket. io/?EIO=3&transport=polling&t=LjIvLGU 404(未找到)

javascript - ReactJS:操作 redux 后不重新渲染

node.js - Heroku 上的 Node API 发送 set-cookie header ,但 Chrome 不会设置它们(但是 Postman 会)

node.js - 在本地运行 firebase 功能时如何使 https 工作并添加自签名 SSL 证书?