我正在尝试让http://socket.io/与co 合作。
我正在尝试在我的代码中异步执行一些任务。
io.on('connection', function (socket) {
// <--- need to do something heavy here
socket.on('something', function (data) {
// <--- need to do something heavy here
});
// <--- need to do something heavy here
});
这就是 socket.io 的工作原理。我现在想加入co
这个组合。我尝试了以下方法:
io.on('connection', function (socket) {
co(function* () {
yield something(); // <--- this works
socket.on('something', function (data) {
yield something(); // <--- this does not work
});
yield something(); // <--- this works
});
});
得到这个错误:SyntaxError: Unexpected strict mode reserved word
和这个:
io.on('connection', function (socket) {
co(function* () {
yield something(); // <--- this works
socket.on('something', function (data) {
co(function* () {
yield something(); // <--- this works
});
});
yield something(); // <--- this works
});
});
我的问题是,这是应该如何使用它,还是我错过了什么。似乎有很多额外的代码来包装所有东西?