無限重復同步任務出現Bug(無盡遞歸too much recursion)
學習了,感謝慕課!!
測試后發現
-.-
無限重復bug:當一個任務類型為同步類型,并且在任務中沒有釋放資源(即該任務不是最后一個任務,并且是同步任務),其下一個任務為無限重復(repeatForever)時,出現無盡遞歸錯誤(too much recursion)。
-.-
我覺得應該設計成這樣吧-_-||:不能無限重復同步任務,或者不采用遞歸的方式執行任務鏈,而是采用循環的方式執行。
學習了,感謝慕課!!
測試后發現
-.-
無限重復bug:當一個任務類型為同步類型,并且在任務中沒有釋放資源(即該任務不是最后一個任務,并且是同步任務),其下一個任務為無限重復(repeatForever)時,出現無盡遞歸錯誤(too much recursion)。
-.-
我覺得應該設計成這樣吧-_-||:不能無限重復同步任務,或者不采用遞歸的方式執行任務鏈,而是采用循環的方式執行。
2017-04-12
舉報
2018-05-26
我不知道為什么沒有人回答你?;旧鲜悄愕拇a有問題。另外可以在跟你解釋一下:
1、首先在這里實現的異步任務只能針對于動畫任務內部的timeline與這個任務執行的其他代碼塊(這里應該沒有,可以自己去理解一下這個動畫的整體實現),不要將任務鏈上的其他任務扯進去(因為這個任務鏈上的每個任務相對于前一個任務都是同步任務);舉個中間的例子:如果重復一個動畫,那重復的每一次動畫相對于前一次動畫都是一個同步任務(重復的動畫必須等到前一次動畫執行結束才能執行)。
2、就是你說的“不能無限重復同步任務,或者不采用遞歸的方式執行任務鏈,而是采用循環的方式。”這里不能無限重復同步任務與遞歸沒有關系。首先你說的循環整個任務鏈,你可能只是想針對重復的動畫任務,有沒有考慮到其他的任務。還有你得考慮整個任務鏈的任務執行都是采用函數調用另一個函數,如果將動畫的重復部分改為你所說的以迭代的方式循環執行:一個是不符合這里任務執行方式,二是會造成動畫執行沖突(因為你所有重復的動畫是幾乎一起執行的)。
說了很多你得明白老師這里的寫法,動畫本身雖然是個異步的,但要讓異步的動畫的重復變成同步。
當然我的答案不知道對否,僅供參考