这是一个(可能非常简陋的)尝试,用于实现在 WWDC 2019 第 712 场会议中提到的 URLSession
上的 dataTaskPublisher(for: URLRequest)
扩展。你可以在 https://developer.apple.com/videos/play/wwdc2019/712/ 约 20:32 处观看它的演示。
它的使用非常简单。
import Foundation
import IDZSwiftDataTaskPublisher
let request = URLRequest(url: URL(string: "http://example.com")!)
_ = URLSession.shared.dataTaskPublisher(for: request)
.sink { print(String(data: $0.data, encoding: .utf8)!) }
dispatchMain()
这个例子下载并打印 http://example.com 的 HTML 代码。
这个包支持 Swift Package Manager。只需添加到你的
.package(url: "https://github.com/iosdevzone/IDZSwiftDataTaskPublisher", from: "0.1.0"),
Package.swift
文件中。
仓库中包含一个简单的演示。切换到 Demos/macOS/SimpleDemo
目录,然后使用 swift build
构建它,并使用 swift run
运行它。你应该会在终端上看到令人愉悦的 HTML 文本。