ios - PromiseKit `Result.. is unused warning` 位于带有 for 循环的链式序列中

标签 ios swift promisekit

我收到了这个烦人的警告,但无法摆脱它。
假设我有一个向蓝牙文件设备发送命令的 promise ,为了执行一个过程,我需要同步发送这些命令。
因此,您在 PromiseKit 6 中可以做的就是创建一个 for 循环,并使用 then 将每个命令附加到前一个 Promise 中。这种方法的问题是编译器会触发有关 Result of call to 'then(on:flags:_:)' is unused 的警告。 ,就像缺少 catch 。我知道我可以使用 cauterize() ,但在这种情况下,我想我会丢失执行每个 promise 时抛出的错误。一个when不可行,因为它会在我需要同步时同时执行。
这是一个与字符串一起使用的小示例,在我的实际应用程序中它们不是字符串。

 static func promise_startProcedure(with commands: [String]) -> Promise<Void> {
        let promise = Promise()
        for command in commands {
            promise.then { //<-- WARNING SHOW HERE
                Promise.value(command)
            }
        }
        return promise
    }

有没有办法消除这个警告?
[更新]
我犯了一个错误,答案不正确,但却为我指明了正确的方向。

static func promise_startProcedure(with commands: [String]) -> Promise<Void> {
            var promise = Promise()
            for command in commands {
                promise = promise.then { 
                    Promise.value(command)
                }
            }
            return promise
        }

最佳答案

试试这个。我刚刚添加了 下划线 来抑制警告,但没有收到该警告。

static func promise_startProcedure(with commands: [String]) -> Promise<Void> {
    let promise = Promise()
    for command in commands {
        _ = promise.then {
            Promise.value(command)
        }
    }
    return promise
}

关于ios - PromiseKit `Result.. is unused warning` 位于带有 for 循环的链式序列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55901281/

相关文章:

swift - 使用 Alamofire 和 PromiseKit 使用 Swift 时出现 Void 错误(请求)

ios - isKindOfClass 在 PromiseKit 中返回 nil ?

ios - 用于求解数字因数和显示的 Swift 应用程序

Swift Promise 套件和 throw

ios PWA 从外部链接返回后减少内部高度

ios - 如何为 rootViewController 调用 UINavigationControllerDelegate 委托(delegate)方法

ios - 如何在 AppDelegate.swift 中使用 Firebase Remote Config?

ios - 在 Swift 中从相机裁剪图像而无需移动到另一个 ViewController

ios - @interface 和@implementation 指令中括号内的文本是什么意思?

ios - OBD2 BLE通讯-如何发送AT命令和接收数据