如何解决“TypeError:fn 不是函数”?

Posted

技术标签:

【中文标题】如何解决“TypeError:fn 不是函数”?【英文标题】:How to solve "TypeError: fn is not a function"? 【发布时间】:2020-06-21 22:15:59 【问题描述】:

我正在尝试在我的 nodejs 应用程序中实现 Passport.JS 和 JWT 功能并收到以下错误

TypeError: fn is not a function

在我的应用程序的这个代码块中

const utils = require('./utils')
const strategies = require('./strategies')

const pipe = (...functions) => args => functions.reduce((arg, fn) => fn(arg), args)

const initialiseAuthentication = app => 
  utils.setup()

  pipe(strategies.JWTStrategy)(app)


module.exports =  utils, initialiseAuthentication, strategies 

如果有人能引导我朝着正确的方向前进,那就太棒了,因为我被困在这里。非常感谢。

【问题讨论】:

【参考方案1】:

自己发现了问题。在 /strategies/index.js 文件中,我像 module.exports = strategy 一样导出策略,但在代码 sn-p 中调用 pipe(strategies.JWTStrategy)(app)

必须是pipe(strategies.strategy)(app)

【讨论】:

以上是关于如何解决“TypeError:fn 不是函数”?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决错误:使用 RX java 在实现室中“不确定如何处理插入方法的返回类型”

如何在 PySpark UDF 中使用边缘情况解决分配问题(如 Hungarian/linear_sum_assignment)

如何用独特的解决方案生成数独板

MQ Java客户端连接出错,报2009错误,请问如何解决

如何为不和谐的 js 解决快照(50/50 的机会踢成员)

如何用CORS来解决JS中跨域的问题