что означает наблюдаемый код return => в значении Javascript? - PullRequest
0 голосов
/ 18 марта 2020
  • Я не спрашиваю, как сделать функцию в синтаксисе ES6, используя =>, я спрашивал о том, почему функция возврата была добавлена ​​в середине функции. Я искал больше и обнаружил, что именно так кодируется функция карри. *

Я попытался получить представление о кодах Observable для построения графика, имитирующего поведение падающих шаров.

Я ожидал, что Observable имеет тот же синтаксис, что и Javascript D3, но на самом деле я понял, что он использует другой, свой собственный синтаксис, который чем-то похож на JS.

Что возвращает x => {.. ... продолжить ...} значит?

Фактический код из Observable такой, как показано ниже.

  return x => {
    const l = bisect.left(circles, x - radius);
    const r = bisect.right(circles, x + radius, l);
    let y = 0;
    for (let i = l; i < r; ++i) {
      const {x: xi, y: yi} = circles[i];
      const x2 = (xi - x) ** 2;
      const y2 = (yi - y) ** 2;
      if (radius2 > x2 + y2) {
        y = yi + Math.sqrt(radius2 - x2) + 1e-6;
        i = l - 1;
        continue;
      }
    }
    circles.splice(bisect.left(circles, x, l, r), 0, {x, y});
    return y;
  };

Мне также интересно, что такое «replay», «continue» и «yield» 'в следующем коде. Я надеюсь реализовать коды здесь в Javascript ...

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