Два асинхронных потока, один внутри другого

У меня есть два асинхронных потока. ПервыйPathMonitorClientэто просто потокиNWPath.Status.

Второй - этоdatabaseClientкоторый публикует мои изменения базы данных. Я хочу загружать изменения моей базы данных только тогда, когда NWPath.Status == .satisfied.

Вот мой текущий код

      var lastValue: NWPath.Status?
for await path in pathMonitorClient.networkPath() {
  lastValue = path.status

  for await tables in await databaseClient.tables() {
    if lastValue == .satisfied {
      // upload 
    }
   }
  }

Но когда статус меняется на.unsatisfied,lastValueникогда не устанавливается, и мой// uploadкод продолжает вызываться.

0 ответов

Другие вопросы по тегам