中如何區(qū)分已受理與已完成)
異步任務(wù)中如何區(qū)分已受理與已完成開發(fā)異步任務(wù)時請求返回成功并不總意味著業(yè)務(wù)已經(jīng)完成。一個提交接口可能只負(fù)責(zé)保存輸入實(shí)際執(zhí)行仍在后續(xù)步驟中。把狀態(tài)拆開記錄可以把流程拆成待提交、已受理、執(zhí)行中、已完成與失敗。若業(yè)務(wù)還有草稿或人工審核環(huán)節(jié)應(yīng)單獨(dú)保留這些狀態(tài)避免把草稿保存成功顯示成正式發(fā)布成功。保存穩(wěn)定的任務(wù)標(biāo)識收到受理響應(yīng)后保存服務(wù)端返回的任務(wù)標(biāo)識。后續(xù)查詢、日志與人工核對都圍繞這個標(biāo)識進(jìn)行而不是根據(jù)標(biāo)題或提交時間猜測結(jié)果。用查詢確認(rèn)結(jié)果提交后再查詢一次任務(wù)詳情檢查狀態(tài)和結(jié)果地址。查詢暫時失敗時應(yīng)顯示結(jié)果待確認(rèn)并提示稍后核對不要直接重新提交否則可能產(chǎn)生重復(fù)內(nèi)容。展示可驗(yàn)證的信息界面可以展示受理時間、最近查詢時間、當(dāng)前狀態(tài)和結(jié)果鏈接。這樣的反饋雖然比一句成功更具體但能讓使用者知道流程實(shí)際走到了哪里。清晰的狀態(tài)定義與可靠的結(jié)果回讀是異步任務(wù)最基礎(chǔ)也最容易被忽略的部分。