[英]Trigger 2nd form submit click after another Observable is done
這是我們只想使用RXJS Observables
要做的簡單過程:
Observable.fromEvent
與我們的表單綁定。 loginUser()
,它將http請求發送到服務器並返回Observable。 take(1)
, takeUntil()
, takeLast()
並沒有幫助我們。 那么,如果我們在500ms內單擊“登錄”按鈕5次,並在loginUser()
完成后使其再次可用,那么停止登錄執行的正確方法是什么?
這應該僅適用於Observables,唯一的問題是最后一部分,如前一句所述。
謝謝大家的幫助!
您可以使用現在已知的flatMapFirst
或exhaustMap
。 其背后的想法是,每次單擊將創建一個新的Observable,隨后將其展平。 它會在進行任何新事件時以靜默方式刪除任何新事件。
Observable.fromEvent(submit, 'click')
.map(() => {}) // Login values
.exhaustMap(credentials => loginUser(credentials))
.subscribe(x => console.log("Logged in!"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.