postItemQueue method

Future postItemQueue(
  1. NsgDataItem obj, {
  2. dynamic errorObjects(
    1. List<NsgDataItem> errorObjects
    )?,
  3. dynamic postedObjects(
    1. List<NsgDataItem> postedObjects
    )?,
})

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

Implementation

Future postItemQueue(
  NsgDataItem obj, {
  Function(List<NsgDataItem> errorObjects)? errorObjects,
  Function(List<NsgDataItem> postedObjects)? postedObjects,
}) async {
  assert(
    (this is! NsgDataItemController || (this as NsgDataItemController).widgetId != null),
    'Использован неправильный контроллер для данного типа данных. $runtimeType != $dataType',
  );
  if (_postQueue.contains(obj)) {
    return;
  }
  _postQueue.add(obj);
  if (_isPosting) {
    return;
  }
  _postingItemQueue(errorObjects: errorObjects, postedObjects: postedObjects);
}