Skip to content

Commit fd5c11d

Browse files
author
Brandon Schoenfeld
committed
refactor: simplify Channel waiter resuming and removal
1 parent 81de346 commit fd5c11d

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

Sources/AsyncDataLoader/Channel.swift

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,10 @@ extension Channel {
1212
if result == nil {
1313
result = value
1414

15-
for waiter in waiters {
16-
waiter.resume(returning: value)
15+
while let waiter = waiters.popLast() {
16+
waiter.resume(returning: success)
1717
}
1818

19-
waiters.removeAll()
20-
2119
return false
2220
}
2321

@@ -29,12 +27,10 @@ extension Channel {
2927
if self.failure == nil {
3028
self.failure = failure
3129

32-
for waiter in waiters {
30+
while let waiter = waiters.popLast() {
3331
waiter.resume(throwing: failure)
3432
}
3533

36-
waiters.removeAll()
37-
3834
return false
3935
}
4036

0 commit comments

Comments
 (0)