Строгий менеджер состояний для приложений на javascript
Иногда вы можете получить массивный ответ из базы данных, который вам нужно проанализировать перед передачей в хранилище.
Акита предоставляет оператор 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))
}
}