我一直在尝试遵循一些示例来为 openwhisk 构建操作。不幸的是,大多数示例都是用 JS 编写的,所以我不得不用 Swift 重写它们。在我想编写异步操作之前,这非常有效。
我遇到的第一个问题是 GCD。Openwhisks Swift 实现在 linux 上运行,因此为了使用 GCD,需要导入 libdispatch 库。当然,我不能修改 openwhisk 在其 Swift 运行时加载的模块。最终,我偶然发现了 IBM Bluemix Sandbox,在那里我了解到有一个 Dispatch 模块,它应该提供对类似 GCD 功能的访问。然而,虽然我可以创建队列、调度时间、闭包等,但我不知道如何实际调度它。dispatch_async、dispatch_after 等都是未知符号。
虽然我仍然无法解决第一个问题,但我在 Whisk API 上苦苦挣扎。在 JS 中,有一个whisk.async() 和whisk.done() 命令。在 Swift 中没有。
问候,维克多