У меня есть базовое представление c с именем QueryResult
.
struct QueryResult: View {
var output: String { MakeDDGRequest(input: input) }
var body: some View {
ScrollView {
VStack(alignment: .leading) {
Text("Result")
.font(.largeTitle)
.foregroundColor(Color.blue)
.lineLimit(2)
.fixedSize(horizontal: false, vertical: true)
Text(output)
// Doesn't output anything because the function
// returns earlier than the API request fetch
}
}
}
}
И я реализовал вызов функции. (Чуть выше определения тела.)
var output: String { MakeDDGRequest(input: input) }
Переменная input
определяется в исходном коде как @Binding public var input: String
Когда я вызываю эту функцию (например, когда появляется представление ), Я хотел бы сделать запрос API. Я успешно сделал это, я получил JSON ответ и проанализировал его, но функция возвращается раньше, чем API получает данные, и поэтому он не возвращает никаких данных, которые он получил.
Как можно Я добавляю экран загрузки, пока эта функция извлекает данные из API?
Примечание Обратите внимание, что я использую WatchOS