2014-10-28 121 views
0

还有就是下面的函数签名:无法使用thunkify NPM包正确

function hashPassword(password, callback){} 

我想合作发生器函数中调用它,所以我尽量用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) 

回答

0

的解决方案将是以指定功能的上下文,因为thunkify不关心它:

var checkPassword = thunk(user.checkPassword).bind(user);