import { interval } from 'rxjs'; import { take } from 'rxjs/operators'; const numbers = interval(1000); const takeFourNumbers = numbers.pipe(take(60)); takeFourNumbers.subscribe( x => { this.paracont = (60-x)+"秒後可重發"; this.disabledClick=true; }, error => {}, () => { this.paracont = "從新發送驗證碼"; this.disabledClick=false; });
HTML中的按鈕:javascript
<button type="button" class="btn btn-primary px-4" [disabled]="disabledClick" (click)="getverifycode()">{{paracont}}</button>
系統建立了一個Observable的定時器對象,每一秒執行一次,這樣實現的異步代碼十分簡潔。須要注意的是代碼中的error => {},不能省略。java