delay는 publisher에 인위적인 지연을 일으키는 Operator에요.

기능

사용

debounce와 마찬가지로 여러 입력값이 있을 때를 가정해서 시뮬레이션 해볼게요.

이번에는 DispatchQueue의 글로벌 큐를 사용할게요.

let subject = PassthroughSubject<String, Never>()
subject
  .delay(for: .milliseconds(1000), scheduler: DispatchQueue.global())
  .sink { value in
    print(value)
  }
  .store(in: &cancellables)

subject.send("H")
subject.send("He")
subject.send("Hel")
subject.send("Hell")
subject.send("Hello")

// 결과 (글로벌큐 영향으로 순서 무시됨)
H
He
Hel
Hello
Hell