如何在不出现错误的情况下从函数中删除布尔返回值:
这是函数:
说实话,我不知道它为什么在抱怨,没有返回值,也没有与任何模型或其他东西绑定...
Generic parameter 'T' could not be inferred
这是函数:
private func syncDataStore() async throws -> Bool {
try await withUnsafeThrowingContinuation { continuation in
Amplify.DataStore.stop { (result) in
switch(result) {
case .success:
Amplify.DataStore.start { (result) in
switch(result) {
case .success:
print("DataStore started")
continuation.resume(returning: true)
case .failure(let error):
print("Error starting DataStore:\(error)")
continuation.resume(throwing: error)
}
}
case .failure(let error):
print("Error stopping DataStore:\(error)")
continuation.resume(throwing: error)
}
}
}
}
这是我尝试做的事情,但我遇到了上面提到的错误:
private func syncDataStore() async throws {
try await withUnsafeThrowingContinuation { continuation in
Amplify.DataStore.stop { (result) in
switch(result) {
case .success:
Amplify.DataStore.start { (result) in
switch(result) {
case .success:
print("DataStore started")
continuation.resume()
case .failure(let error):
print("Error starting DataStore:\(error)")
continuation.resume(throwing: error)
}
}
case .failure(let error):
print("Error stopping DataStore:\(error)")
continuation.resume(throwing: error)
}
}
}
}
说实话,我不知道它为什么在抱怨,没有返回值,也没有与任何模型或其他东西绑定...
continuation
的类型会发生什么?(continuation: UnsafeContinuation<Bool, Error>) in
我期望错误会变得更有用,或者最好是完全消失。 - Sweeper(continuation: UnsafeContinuation<Void, Error>) in
,但是看起来太长了,有没有更好的方法? - ElKePoNstop
和start
分别封装成异步函数,然后编写一个异步函数来处理syncDataStore
就会变得轻而易举。 - SweeperVoid
的异步函数。尝试将其更改为-> Void
。 - Sweeper