0

Я могу асинхронно вызывать функции лямбда-АМС в моем коде следующим образом:Вызов функции AWS Lambda через APIGateway синхронно в Swift

var r = IPInputToResourceGetSpots() 
r.latitude = 37.8050638 //destination.latitude 
r.longitude = -122.2972835 //destination.longitude 
r.radius = 1000 

let client = IPIOSAppAPIClient.defaultClient() 

var results:IPOutputToResourceGetSpots = IPOutputToResourceGetSpots() 
client.resourcegetspotsPost(r).continueWithExecutor(AWSExecutor.mainThreadExecutor(), withBlock: { (task: AWSTask!) -> AnyObject! in 

//Deal with return of AWS function 
return task 
}) 

Но то, что я хочу, чтобы вызвать код синхронно и есть пауза кода когда функция AWS вызывается до тех пор, пока вызов не будет завершен. Я попытался изменить эту строку:

client.resourcegetspotsPost(r).continueWithExecutor(AWSExecutor.mainThreadExecutor(), withBlock: { (task: AWSTask!) -> AnyObject! in 

с:

client.resourcegetspotsPost(r).continueWithBlock({ (task: AWSTask!) -> AWSTask! in 

Но оба, кажется, быть асинхронными ...

ответ

Смежные вопросы