У вас включен AdBlock или иной блокировщик рекламы.

Пожалуйста, отключите его, доход от рекламы помогает развитию сайта и появлению новых статей.

Спасибо за понимание.

В другой раз
DevGang блог о програмировании
Авторизоваться

Akita

Строгий менеджер состояний для приложений на javascript

Поделится

Web Workers

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

Акита предоставляет оператор Rx, который принимает данные и фабричную функцию и запускает функцию с данными в качестве параметра внутри веб-воркера.

import { mapInWorker } from '@datorama/akita';
import { createTodo } from './todo.model';
​
export class TodoService {
  constructor(private http) {}

  getData() {
    // Ответ сервера содержит массив объектов todos.
    // Каждый объект todo содержит данные, которые нам не нужны.
    // Оператор mapInWorker в цикл пройдет по всем задачам и вызовет
    // функцию для передачи текущего объекта.
    return this.http.get('todos').pipe(
      mapInWorker<Todo>(createTodo)
    ).subscribe(todos => this.todosStore.set(todos))
  }
}