显示加载图像直到响应
Posted
技术标签:
【中文标题】显示加载图像直到响应【英文标题】:Show loading image until response 【发布时间】:2021-02-24 16:12:08 【问题描述】:我通过 AlamoFire 向 REST API 发送音频文件并获得 JSON 响应。同时,我想显示加载图像(例如动画圆圈),直到收到响应。我目前的解决方案是:
let voiceData = try? Data(contentsOf: audioRecorder.url)
let uploadUrl = "<server ip>"
AF.upload(multipartFormData: multipartFormData in
multipartFormData.append(voiceData!, withName: "file", fileName: "recording.m4a", mimeType: "audio/mpeg")
,
to: uploadUrl, method: .post)
.responseJSON resp in
print(resp)
现在如何在我的 SwiftUI 视图中显示加载图像?
【问题讨论】:
这是否回答了您的问题***.com/a/58959008/12299030? 这可能会对您有所帮助:SwiftUI Network Image show different views on loading and error 和 How can I load an UIImage into a SwiftUI Image asynchronously? 【参考方案1】:我不确定 AlamoFire,但为了并行做两件事,你必须使用异步方法,所以这是你可以做的(在 javascript 中):
document.querySelector("#getInfoBtn").addEventListener('click',() =>
toggleInfoBtnSpinner()
setTimeout(AFUpload, 10)
);
let toggleInfoBtnSpinner = () =>
const btn = document.querySelector("#getInfoBtn")
const spinner = btn.querySelector("#infoSpinner")
if (spinner == null)
btn.innerhtml = `<span id="infoSpinner" class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>Search`
else
spinner.remove()
btn.innerHTML = `Search`
btn.disabled = !btn.disabled
这将设置微调器启动,然后,您将在 10 毫秒后作为异步函数执行 AFUpload
函数,您可以触发该函数的某些内容以让系统知道它已完成
【讨论】:
以上是关于显示加载图像直到响应的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有 Ajax Toolkit 的情况下显示加载图像直到 gridview 完全加载?
显示启动画面或加载指示器,直到所有图像都准备好 |世博会|反应原生
我们可以像在 android asyncTask 中一样显示加载状态,直到我们在 swift 中使用 HTTP Post 请求得到响应