Coffeescript和护照:奇怪的行为,附加功能

Hr。站起来

我一直在玩咖啡,快递和护照,看来我并没有真正了解该语言的一些细节。

有人可以告诉我,这是怎么回事?

当我初始化passport.serializeUserpassport.deserializeUser函数时,如下所示:

passport.serializeUser (user, done)->
  done null, user

passport.deserializeUser (obj, done)->
  done null, obj

一切都按预期进行。

但我想从其他地方传递这些功能。一旦执行以下操作(我认为应该完全相同),就会收到TypeError,告诉我:当护照尝试调用我的反序列化函数时,“ TypeError:对象不是函数”。

serialize = (user, done) ->
  done null, user

deserialize = (obj,  done) ->
  done null, obj

passport.serializeUser = serialize
passport.deserializeUser = deserialize

我没主意了。这里有什么区别?

亩太短

这些:

passport.serializeUser (user, done)->
  done null, user

passport.deserializeUser (obj, done)->
  done null, obj

正在调用serializeUser和的deserializeUser方法,passport并将它们作为参数传递。它们与:

s = (user, done) -> done(null, user)
passport.serializeUser(s)

d = (obj, done) -> done(null, obj)
passport.deserializeUser(d)

这些:

serialize = (user, done) -> done null, user
passport.serializeUser = serialize

deserialize = (obj,  done) -> done null, obj
passport.deserializeUser = deserialize

正在分配新的功能passportserializeUserdeserializeUser性能。

因此,第一个方法是使用函数作为参数来调用某些函数,第二个方法是用其他函数覆盖某些属性(碰巧是函数)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

coffeescript for循环中的奇怪行为

来自分类Dev

“断言”功能:奇怪的行为

来自分类Dev

“断言”功能:奇怪的行为

来自分类Dev

||奇怪的Ruby行为 和 &&

来自分类Dev

加入和的奇怪行为

来自分类Dev

OpenXml 和奇怪的行为

来自分类Dev

奇怪的窗口功能行为

来自分类Dev

“读取”系统功能的奇怪行为

来自分类Dev

Perl脚本的奇怪行为(附加斜杠)

来自分类Dev

R中的附加/分离行为非常奇怪

来自分类Dev

DateTime和DateTimeZone的奇怪行为

来自分类Dev

Camera和SurfaceView的奇怪行为

来自分类Dev

时区和SimpleDateFormat奇怪的行为

来自分类Dev

$ .clone()和$ .data()奇怪的行为

来自分类Dev

查找和du的奇怪行为

来自分类Dev

systimestamp和sysdate的奇怪行为

来自分类Dev

Camera和SurfaceView的奇怪行为

来自分类Dev

$ .clone()和$ .data()奇怪的行为

来自分类Dev

strpos和Ø的奇怪行为

来自分类Dev

奇怪的printf和scanf行为

来自分类Dev

gluPerspective和gluLookAt的奇怪行为

来自分类Dev

ASLR 和 VirtualAlloc 的奇怪行为

来自分类Dev

TextView 和 ListView 的奇怪行为

来自分类Dev

使用c ++ 20概念和模板化类的奇怪的GCC(树干)行为:是Bug还是功能?

来自分类Dev

具有数组和结构的四分卫评级功能的行为很奇怪

来自分类Dev

React 多个复选框的行为很奇怪,在状态中添加了确认和取消功能

来自分类Dev

基本功能的奇怪行为

来自分类Dev

奇怪的行为存储功能导致OCaml

来自分类Dev

附加到2D切片时的奇怪行为