課程
/前端開(kāi)發(fā)
/JavaScript
/原生 JS 實(shí)現(xiàn)幀動(dòng)畫庫(kù)
老師,任務(wù)鏈上的同步和異步任務(wù)的區(qū)別··哪些是異步任務(wù)?動(dòng)畫暫停是屬于異步任務(wù)嗎?
2016-07-08
源自:原生 JS 實(shí)現(xiàn)幀動(dòng)畫庫(kù) 1-2
正在回答
首先,要理解JS是單線程的。也就是說(shuō),在一次Event Loop中,會(huì)同步執(zhí)行完所有JS代碼。同步任務(wù)是在一次Event Loop中執(zhí)行的JS代碼,去完成相應(yīng)的“任務(wù)”。異步任務(wù)不是一次Event Loop可以做完的,通常JS有幾種方式實(shí)現(xiàn)異步,如異步ajax請(qǐng)求,setTimeout,requestAnimationFrame等。動(dòng)畫庫(kù)這個(gè)案例中,我們引入了“任務(wù)鏈”這個(gè)概念,把一些同步異步的“任務(wù)”添加到任務(wù)鏈上。所有通過(guò)timeline創(chuàng)建的動(dòng)畫都是異步任務(wù),因?yàn)樗讓佑玫搅藃equestAnimationFrame。動(dòng)畫暫停不是一個(gè)任務(wù),它是調(diào)用了timeline的一個(gè)接口方法,達(dá)到暫停動(dòng)畫執(zhí)行的目的。
好的? 太感謝老師了
舉報(bào)
了解如何用原生JS實(shí)現(xiàn)酷炫的幀動(dòng)畫,吸引他她的注意
3 回答同步和異步怎么理解?
1 回答無(wú)限重復(fù)同步任務(wù)出現(xiàn)Bug(無(wú)盡遞歸too much recursion)
1 回答為啥要多寫一步window[item.id]?
1 回答var item =image[keys]; 1 item = image[keys] ={ 2 第2個(gè)item是重新定義的一個(gè)item對(duì)象嗎和上邊的item有關(guān)系嗎 src ;item; //這里的item和上邊的item代表的是不是同一個(gè)值啊 3 }
1 回答是否要用服務(wù)器
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-07-08
首先,要理解JS是單線程的。也就是說(shuō),在一次Event Loop中,會(huì)同步執(zhí)行完所有JS代碼。
同步任務(wù)是在一次Event Loop中執(zhí)行的JS代碼,去完成相應(yīng)的“任務(wù)”。
異步任務(wù)不是一次Event Loop可以做完的,通常JS有幾種方式實(shí)現(xiàn)異步,如異步ajax請(qǐng)求,setTimeout,requestAnimationFrame等。
動(dòng)畫庫(kù)這個(gè)案例中,我們引入了“任務(wù)鏈”這個(gè)概念,把一些同步異步的“任務(wù)”添加到任務(wù)鏈上。所有通過(guò)timeline創(chuàng)建的動(dòng)畫都是異步任務(wù),因?yàn)樗讓佑玫搅藃equestAnimationFrame。
動(dòng)畫暫停不是一個(gè)任務(wù),它是調(diào)用了timeline的一個(gè)接口方法,達(dá)到暫停動(dòng)畫執(zhí)行的目的。
2016-07-12
好的? 太感謝老師了