2014-10-28 82 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);