生病了早上完全起不來,下午身題狀況比較好趕快來把每日進度給完成!
Day15: Interval Cancellation
問題描述:
Given a function fn, an array of arguments args, and an interval time t, return a cancel function cancelFn.
The function fn should be called with args immediately and then called again every t milliseconds until cancelFn is called at cancelT ms.
問題難度:Easy
問題限制:
fnis a functionargsis a valid JSON array1 <= args.length <= 1030 <= t <= 10010 <= cancelT <= 500
我的解題過程:
這是每隔一段時間就要執行一次fn ,直到cancelFn執行才停止。
每隔一段時間要執行要使用**setInterval**
1  | const timeoutID = setInterval(() => {fn(...args)}, t)  | 
然後創建cancelFn:
1  | const cancelFn = () => {clearInterval(timeoutID)}  | 
之後 return cancelFn,應該就可以得到答案了吧….
果然是錯的,目前看起來是0秒沒執行
所以只要我們自己手動輸入一次應該就可以了:
1  | fn(...args)  | 
沒錯確實是這樣!
完整code
1  | var cancellable = function(fn, args, t) {  | 
其他code
無,大同小異
總結
這其實算是有點作弊,昨天練習了setTimeout時查看資料時剛好有看到setInterval,因此非常容易做出來,唯一疑惑了一下是在加fn(...args)這段時,想說不會這麼簡單吧,結果還真的就是這麼直覺XD