Встречается на собеседованиях • сегодня

Пишешь ли Observer или берешь готовый из библиотеки

Обычно беру готовый из библиотеки, например RxJS или MobX, так как они уже покрывают edge cases, имеют хорошую документацию и тесты. Но если задача простая и специфичная, могу написать минимальную реализацию:

javascript
class Observer {
  constructor() {
    this.subscribers = [];
  }

  subscribe(fn) {
    this.subscribers.push(fn);
    return () => this.unsubscribe(fn);
  }

  unsubscribe(fn) {
    this.subscribers = this.subscribers.filter(sub => sub !== fn);
  }

  notify(data) {
    this.subscribers.forEach(fn => fn(data));
  }
}

Главное - понимать принципы работы паттерна, даже если используешь готовое решение.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы