1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-Napa.js

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
store.md 5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 05:42 7a34d50

Пространство имён store

Содержание

Введение

Store API — это необходимое дополнение для обмена транспортабельными объектами между потоками JavaScript, помимо передачи объектов через аргументы. Во время store.set значения маршалируются в JSON и сохраняются в куче процесса, поэтому все потоки могут получить к ним доступ, а пользователи извлекают их с помощью store.get.

Хотя это очень удобно, не рекомендуется использовать store для передачи значений внутри транзакции или запроса, поскольку его накладные расходы больше, чем передача объектов аргументами (есть дополнительная блокировка и т. д.). Кроме того, разработчики обязаны удалить ключ после использования, в то время как он автоматически управляется подсчётом ссылок при передаче аргументов.

API

Следующие API доступны для создания, получения и работы с хранилищами.

create(id: string): Store

Создаёт хранилище по строковому идентификатору, который можно использовать позже для получения хранилища. Когда все ссылки на хранилище из всех виртуальных машин JavaScript будут удалены, хранилище будет уничтожено. Поэтому обычно рекомендуется всегда хранить ссылку в глобальной или модульной области видимости с использованием Store. Будет выдана ошибка, если идентификатор уже существует.

Пример:

var store = napa.store.create('store1');

get(id: string): Store

Получает ссылку на хранилище по строковому идентификатору. Если идентификатор не существует, будет возвращено undefined.

Пример:

var store = napa.store.get('store1');

getOrCreate(id: string): Store

Получает ссылку на хранилище по строковому идентификатору или создаёт его, если идентификатор не существует. Этот API удобен, когда вы хотите создать хранилище в коде, который выполняется каждым рабочим зоны, так как он не нарушает симметрию.

Пример:

var store = napa.store.getOrCreate('store1');

count: number

Возвращает количество живых хранилищ.

Интерфейс Store

Интерфейс, позволяющий пользователю помещать и получать объекты в нескольких виртуальных машинах JavaScript.

store.id: string

Получает строковый идентификатор хранилища.

store.set(key: string, value: any): void

Помещает транспортабельное значение в хранилище с помощью строкового ключа. Если ключ уже существует, новое значение заменит существующее значение.

Пример:

store.set('status', 1);

store.get(key: string): any

Получает транспортабельное значение из хранилища по строковому ключу. Если ключ не существует, будет возвращено undefined.

Пример:

var value = store.get('status');
assert(value === 1);

store.has(key: string): boolean

Сообщает, существует ли ключ в текущем хранилище.

Пример:

assert(store.has('status'))

store.size: number

Сообщает, сколько ключей хранится в текущем хранилище.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-Napa.js.git
git@api.gitlife.ru:oschina-mirror/mirrors-Napa.js.git
oschina-mirror
mirrors-Napa.js
mirrors-Napa.js
master