如何解决“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)