Неожиданный токен '*' Ожидается открытие '(' перед списком параметров функции - PullRequest
0 голосов
/ 01 февраля 2020

iOS9 не нравится javascript генераторы function*. В настоящее время я пытаюсь избавиться от проблемы с обещаниями на iOS, и мой код выглядит следующим образом:

...

    myFunction: function() {
        return this.spawn(function*() {
            yield MyApp.function();
        });
        return;
    },
...

, что приводит к следующей ошибке на iOS 9:

Неожиданный токен '*' Ожидается открытие '(' перед списком параметров функции

Знаете ли вы альтернативу, которая будет совместима?

1 Ответ

0 голосов
/ 01 февраля 2020

iOS 10 поддерживает генераторы. Если вы застряли с iOS 9, то вам придется реализовать собственный генератор fake . Протокол генератора имеет методы next, return, throw и [Symbol.iterator]. Вы можете реализовать только те, которые вам нужны. Например, вот реализация [Symbol.iterator]:

let createGenerator = values => () => ({
  [Symbol.iterator]() {
    let i = 0;
    return {
      next: () => ({
        value: values[i++],
        done: i > values.length
      }),
      // next
      // return
      // throw
    }
  }
});

let realGenerator = function*() {
  yield 1;
  yield 2;
  yield 3;
  yield 4;
};

let fakeGenerator = createGenerator([1, 2, 3, 4]);

console.log(...realGenerator());
console.log(...fakeGenerator());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...