Странный синтаксис yield в JavaScript

Я только что посмотрел в очень интересном task.js Дейва Германа. В его примере у него есть такая строка:

var [foo, bar] = yield join(read("foo.json"),
                                read("bar.json")).timeout(1000);

Я знаком с генераторами, но не понимаю, как выражение yield оценивает то, что может быть присвоено [фу, бар].На самом деле я не ожидал, что это выражение может быть присвоено чему-либо, поскольку это в основном то же самое, что и return.

Синтаксис yield для JS все еще кажется немного недокументированным, и я не смог найти информацию об этом.

Итак, чтобы прояснить мой вопрос: что в итоге назначается для foo и bar?

6
задан Dheeraj V.S. 20 August 2013 в 09:30
поделиться