Я прочитал несколько примеров кода с использованием генераторов JavaScript таких как этот. Простейший блок, использующий генератор, который я могу придумать, - это что-то вроде:
function read(path) {
    return function (done) {
        fs.readFile(path, "file", done);
    }
}
co(function *() {
    console.log( yield read("file") );
})();
Это действительно распечатывает содержимое file, но мой зависает там, где вызывается done. По-видимому, выход - это синтаксический сахар для упаковки того, что он возвращает в обратном вызове, и соответствующим образом присваивает значение результата (и, по крайней мере, в случае co, вызывая аргумент ошибки для обратного вызова). Правильно ли я понимаю синтаксис?
Что выглядит done при использовании yield?
