소스 검색

Update demo

drake 3 년 전
부모
커밋
208402e652
1개의 변경된 파일9개의 추가작업 그리고 3개의 파일을 삭제
  1. 9 3
      sample/src/main/java/com/drake/net/sample/ui/fragment/SyncRequestFragment.kt

+ 9 - 3
sample/src/main/java/com/drake/net/sample/ui/fragment/SyncRequestFragment.kt

@@ -10,10 +10,16 @@ class SyncRequestFragment :
     EngineFragment<FragmentSyncRequestBinding>(R.layout.fragment_sync_request) {
     EngineFragment<FragmentSyncRequestBinding>(R.layout.fragment_sync_request) {
 
 
     override fun initView() {
     override fun initView() {
-        thread {
-            val result = Net.post("api").execute<String>() // 网络请求不允许在主线程
+        thread { // 网络请求不允许在主线程
+            val result = try {
+                Net.post("api").execute<String>()
+            } catch (e: Exception) { // 同步请求失败会导致崩溃要求捕获异常
+                "请求错误 = ${e.message}"
+            }
+
             // val result = Net.post("api").toResult<String>().getOrDefault("请求发生错误, 我这是默认值")
             // val result = Net.post("api").toResult<String>().getOrDefault("请求发生错误, 我这是默认值")
-            binding.tvFragment?.post {
+
+            binding.tvFragment?.post { // 这里用?号是避免界面被销毁依然赋值
                 binding.tvFragment?.text = result  // view要求在主线程更新
                 binding.tvFragment?.text = result  // view要求在主线程更新
             }
             }
         }
         }