#dart
#dart
Вопрос:
Есть ли истекающая карта в dart? Я ищу что-то похожее на PassiveExpiringMap в Apache common. Заранее спасибо.
Ответ №1:
Похоже, для этого нет пакета. Однако, на случай, если кто-то просто ищет быстрый фрагмент для ленивого копирования и вставки, как я, вот начало, которое вы можете использовать в соответствии с вашими потребностями:
class ExpiringMap {
final Map<dynamic, dynamic> _map = {};
Object operator [](Object key) => _map[key];
void operator []=(Object key, Object value) {
_map[key] = value;
Future.delayed(Duration(minutes: 1), () => _map.remove(key));
}
}
Комментарии:
1. Некоторые люди могут захотеть сделать это общей истекающей картой<K, V> и вместо будущего. с задержкой, используйте карту таймеров и перенесите срок действия при доступе. Но это может быть излишним в зависимости от варианта использования. Этот код выполняет свою работу!