0

该函数有以下签名:

function hashPassword(password, callback){}

我想在 co generator 函数中调用它,所以我尝试用 thunkify 包装它,如下所示:

var checkPassword = thunk(user.checkPassword);
var isValid = yield checkPassword(userInfo.password);

结果我的单元测试失败并且堆栈跟踪没有显示原因:

at error (..\node_modules\supertest\lib\js:235:13)
at Test.assert (..\node_modules\supertes\test.js:166:19)
at assert (..\node_modules\supertest\lib.js:132:12)
at ..\node_modules\supertest\lib\test.js
at Test.Request.callback (..\node_modules\superagent\lib\node\index.js:738:30)
at Test.<anonymous> (..\node_modules\superagent\lib\node\index.js:135:10)
at Test.emit(events.js:107:17) at IncomingMessage.<anonymous> (..\node_es\supertest\node_modules\superagent\lib\node\index.js:915:12)
at IncomingMessage.emit (events.js:129:20)
at _stream_readable.js:907:16
at process._tickCallback (node.js:372:11)
4

1 回答 1

0

解决方案是为函数指定上下文,因为 thunkify 不关心它:

var checkPassword = thunk(user.checkPassword).bind(user);
于 2014-10-28T21:02:53.997 回答