【发布时间】:2022-01-23 23:39:19
【问题描述】:
我有两个发布者,一个根据状态收集消息,第二个是计时器。我希望这些按顺序触发 - 所以首先收集数据,然后启动计时器。我怎样才能做到这一点?这是我当前的代码:
let messagesPublisher = OnboardingStateLogic.publisher(
forState: state,
nextState: nextState
)
messagesPublisher
.sink { completion in
print("completed")
} receiveValue: { [weak self] messages in
messages.forEach { message in
self?.queue.enqueue(message)
}
}
timer = Timer
.publish(every: 2, on: .main, in: .default)
.autoconnect()
.sink { _ in
self.dequeueMessages()
}
【问题讨论】:
-
我的回复是否回答了您的问题?
-
@jnpdx 我最终选择了 Zip