262588213843476 · Gist

`RandomNumberViewModel` pings.

let viewModel = RandomNumberViewModel()
viewModel.randomNumberPing.send()
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(3)) { /// (1) Adding some delay, to disambiguate
/// `print` operator logs.
viewModel.randomNumberPing.send()
}
/// (2) Giving the above a few (or many) runs will hint at what’s wrong. We’ll either see one (or two) received
/// value events with even integers or, a _single_ error event. That is, if the first request errors out,
/// we never attempt the second.
///
/// Here’s some sample output from three runs,
///
/// ```
/// …
/// receive value: (187746)
/// receive error: (failedRequest)
/// ```
///
/// ```
/// …
/// receive error: (failedRequest)
/// ```
///
/// ```
/// …
/// receive value: (194794)
/// receive value: (157570)
/// ```

Read the original on gist.github.com ↗