Два асинхронных потока, один внутри другого
У меня есть два асинхронных потока. Первый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
код продолжает вызываться.