_AsyncParsableCommand

一个 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!")
        
    }
    
}