Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 承诺的结果。。是未使用的警告`在带有for循环的链式序列中_Ios_Swift_Promisekit - Fatal编程技术网

Ios 承诺的结果。。是未使用的警告`在带有for循环的链式序列中

Ios 承诺的结果。。是未使用的警告`在带有for循环的链式序列中,ios,swift,promisekit,Ios,Swift,Promisekit,我有这个恼人的警告,我无法摆脱它。 假设我有一个向蓝牙le设备发送命令的承诺,要执行一个过程,我需要同步发送这些命令。 因此,在PromiseKit6中,您可以创建一个for循环,并使用then将每个命令附加到前面的承诺中。这种方法的问题是编译器触发了一个关于调用“then(on:flags:u:)”的结果的警告,而“then(on:flags::)”是未使用的,就像缺少捕获一样。我知道我可以使用烧灼(),但在这种情况下,我想我会丢失执行每个承诺时抛出的错误。时的不可行,因为它将并发执行,而我需

我有这个恼人的警告,我无法摆脱它。
假设我有一个向蓝牙le设备发送命令的承诺,要执行一个过程,我需要同步发送这些命令。
因此,在PromiseKit6中,您可以创建一个for循环,并使用then将每个命令附加到前面的承诺中。这种方法的问题是编译器触发了一个关于调用“then(on:flags:u:)”的
结果的警告,而“then(on:flags::)”是未使用的
,就像缺少
捕获一样。我知道我可以使用
烧灼()
,但在这种情况下,我想我会丢失执行每个承诺时抛出的错误。
时的
不可行,因为它将并发执行,而我需要同步执行。
这里是一个用于字符串的小示例,在我的实际应用程序中,它们不是字符串。

 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\u startProcess(使用命令:[String])->promise{
让承诺
用于命令中的命令{
答应,然后{//答应{
var promise=promise()
用于命令中的命令{
promise=promise.then{
承诺.价值(命令)
}
}
回报承诺
}

您可以将
@discardableResult
添加到方法声明中:

例如,函数声明上的discardableResult属性 指示尽管函数返回值,但编译器 如果返回值未使用,则不应生成警告


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

static func promise_startProcedure(with commands: [String]) -> Promise<Void> {
    let promise = Promise()
    for command in commands {
        _ = promise.then {
            Promise.value(command)
        }
    }
    return promise
}
static func promise\u startProcess(使用命令:[String])->promise{
让承诺
用于命令中的命令{
_那么,我答应你{
承诺.价值(命令)
}
}
回报承诺
}

我看不出这些承诺有任何用处。@Kamran当然,正如我所说的,这只是一个小例子,这个过程与其他承诺相关联,最后有一个
捕获
它不起作用,警告显示在这里
承诺。然后{
谢谢你指出它,我将编辑这个问题
static func promise_startProcedure(with commands: [String]) -> Promise<Void> {
    let promise = Promise()
    for command in commands {
        _ = promise.then {
            Promise.value(command)
        }
    }
    return promise
}