Răsfoiți Sursa

生成完就立即执行。

skyffire 1 an în urmă
părinte
comite
94bd9788fb
1 a modificat fișierele cu 6 adăugiri și 6 ștergeri
  1. 6 6
      standard/src/gate_swap.rs

+ 6 - 6
standard/src/gate_swap.rs

@@ -554,9 +554,9 @@ impl Platform for GateSwap {
         let futures = FuturesUnordered::from_iter(handles);
         // 等待所有任务完成
         let _: Result<Vec<_>, _> = futures.try_collect().await;
-        handles.clear();
 
         // 撤销订单
+        let mut cancel_handlers = vec![];
         for item in order_command.cancel.keys() {
             let order_id = order_command.cancel[item].get(1).unwrap().clone();
             let custom_id = order_command.cancel[item].get(0).unwrap().clone();
@@ -584,14 +584,14 @@ impl Platform for GateSwap {
                     }
                 }
             });
-            handles.push(handle)
+            cancel_handlers.push(handle)
         }
-        let futures = FuturesUnordered::from_iter(handles);
+        let futures = FuturesUnordered::from_iter(cancel_handlers);
         // 等待所有任务完成
         let _: Result<Vec<_>, _> = futures.try_collect().await;
-        handles.clear();
 
         // 检查订单指令
+        let mut check_handlers = vec![];
         for item in order_command.check.keys() {
             let order_id = order_command.check[item].get(1).unwrap().clone();
             let custom_id = order_command.check[item].get(0).unwrap().clone();
@@ -608,10 +608,10 @@ impl Platform for GateSwap {
                     }
                 }
             });
-            handles.push(handle)
+            check_handlers.push(handle)
         }
 
-        let futures = FuturesUnordered::from_iter(handles);
+        let futures = FuturesUnordered::from_iter(check_handlers);
         // 等待所有任务完成
         let _: Result<Vec<_>, _> = futures.try_collect().await;
     }