co
co copied to clipboard
The co's then-function called before than thunkify function
let co = require('co'); let Thunk = require('thunkify');
function testThunk(arg1, arg2, callback) { console.log(arg1, arg2); setTimeout(()=> { callback('', 'thunk test'); }, 200); }
co(function *() { return Thunk(testThunk)('arg1', 'arg2')((err, data)=> { //return a thunkify function. console.log('thunk call result:', data); }); }).then(result=> {//The then-function called before than thunkify function,is that right? console.log('co result:', result); } );
There's something wrong with your source.
- You should use
yieldin front of thunk. -
testThunk's callbackis called byco(systematically) - You should return
thunk's resultto use this inco's then.
Modified source below.
let co = require('co');
let Thunk = require('thunkify');
function testThunk(arg1, arg2, callback) {
console.log(arg1, arg2);
setTimeout(()=> {
callback(null, 'thunk test');
}, 200);
}
co(function *() {
var result = yield Thunk(testThunk)('arg1', 'arg2');
console.log(`testThunk's result : ${result}`);
return result;
}).then(result => {//The then-function called before than thunkify function,is that right?
console.log('co result:', result);
});
OK,I see.Thank you.