我收到了这个烦人的警告,但无法摆脱它。
假设我有一个向蓝牙文件设备发送命令的 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/