Узнать Генераторы - 4" ОШИБКА СЕТЬ!
Решение использует for loop
, но я просто ничего не нашел в MDN - Iteration Protocols, который ссылается на выход в обратных вызовах.
Я собираюсь угадать, что ответ просто don't do that
, но спасибо заранее, если у кого есть время или желание дать объяснение!
Код:
function *upper (items) {
items.map(function (item) {
try {
yield item.toUpperCase()
} catch (e) {
yield 'null'
}
}
}
var badItems = ['a', 'B', 1, 'c']
for (var item of upper(badItems)) {
console.log(item)
}
// want to log: A, B, null, C
Ошибка:
⇒ learn-generators run catch-error-map.js
/Users/gyaresu/programming/projects/nodeschool/learn-generators/catch-error-map.js:4
yield item.toUpperCase() // error below
^^^^
SyntaxError: Unexpected identifier
at exports.runInThisContext (vm.js:73:16)
at Module._compile (module.js:443:25)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3
Даже мой редактор знает, что это ужасная идея...