Я только что посмотрел на очень интересный task.js Дэйва Германа.В его примере он имеет следующую строку:
var [foo, bar] = yield join(read("foo.json"),
read("bar.json")).timeout(1000);
Я знаком с генераторами, но я не понимаю, как выражение yield оценивает что-то, что может быть присвоено [foo, bar].На самом деле я бы не ожидал, что выражение будет назначено чему-либо, поскольку оно в основном то же самое, что и return.
Синтаксис yield для JS по-прежнему немного недокументирован, и я не смог найти информацию об этом.
Итак, чтобы прояснить мой вопрос: что в итоге назначается на foo и bar?