瀏覽代碼

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) {
 
     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("请求发生错误, 我这是默认值")
-            binding.tvFragment?.post {
+
+            binding.tvFragment?.post { // 这里用?号是避免界面被销毁依然赋值
                 binding.tvFragment?.text = result  // view要求在主线程更新
             }
         }