У меня есть это раздражающее предупреждение, и я не могу от него избавиться.
Допустим, у меня есть обещание, которое отправляет команду на устройство Bluetooth, для выполнения процедуры мне нужно отправить эти командысинхронно.
Итак, что вы можете сделать в PromiseKit 6 - создать цикл for и добавить каждую команду, используя затем, к предыдущему обещанию.Проблема с этим подходом заключается в том, что компилятор выдает предупреждение о Result of call to 'then(on:flags:_:)' is unused
, как будто отсутствует catch
.Я знаю, что могу использовать cauterize()
, но в этом случае, я думаю, я потеряю ошибки, возникающие при выполнении каждого обещания.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
}
IsЕсть ли способ избавиться от этого предупреждения?
[ОБНОВЛЕНИЕ]
Я сделал ошибку, ответ был неправильным, но указал мне правильное направление.
static func promise_startProcedure(with commands: [String]) -> Promise<Void> {
var promise = Promise()
for command in commands {
promise = promise.then {
Promise.value(command)
}
}
return promise
}