Я увидел что-то странное в Koa. Он имеет некоторые новые имена функций (от https://github.com/koajs/koa/blob/master/examples/co.js#L10):Что означает `return function *() {...}` mean?
app.use(function(){
return function *(){
var paths = yield fs.readdir('docs');
var files = yield paths.map(function(path){
return fs.readFile('docs/' + path, 'utf8');
});
this.type = 'markdown';
this.body = files.join('');
}
});
Что return function *()
значит? Можем ли мы объявить функцию с именем *
в JavaScript?
BTW, он доступен только в неустойчивом узле (> = 0.11) с флагом '--harmony-generatorators' –