一个 ParsableCommand
的直接替代品,允许你在 ParsableCommand.run()
中使用 async/await,而无需管理任务。
希望它只是在你等待 swift-argument-parser
中支持 async/await 之前的一个过渡方案。
它来了!由于 AsyncParsableCommand
现在已正式成为 swift-argument-parser
项目的一部分,因此本软件包将不再维护。
更多信息: apple/swift-argument-parser #404
import ArgumentParser
import AsyncParsableCommand
struct Countdown: _AsyncParsableCommand {
@Argument var count: Int
func run() async throws {
var remaining = count
while 0 < remaining {
print("\(remaining)!")
await Task.sleep(1_000_000_000)
remaining -= 1
}
print("Countdown complete!")
}
}