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 に答える