簡體   English   中英

Future.delayed 和 Timer 正在執行所有延遲的回調

[英]Future.delayed and Timer are executing all of the delayed callbacks

所以這就是交易。 我在我的應用程序中使用 Places 自動完成 API,所以在 Textfield 的 onChanged function 中,我正在為每個輸入的字母發出請求。 這花費了很多,我嘗試使用 Future.delayed 來延遲這個電話。 所以我將整個 function 包裹在 Future.delayed 中,並延遲了 2 秒。 現在它等待 2 秒,但 2 秒后它執行所有延遲的調用。

例子:

鍵入:'New York'(2 秒內)結果:等待 2 秒並執行以下操作:Ne、New、New、New Y、New Yo、New Yor、New York..

所以基本上它會延遲它,但然后立即執行它。 我該如何解決這個問題?

PS:我確實嘗試過更改 function 本身以及負責 api 調用的 function 。

onChanged function 將在每次更改時觸發,這意味着對於鍵入的每個字母。 Future.delayed不會改變這種行為,而是會延遲 function 的每次調用。

您正在尋找的是去抖動或節流功能。 考慮使用像這樣提供它們的庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM