在《你不知道的js(中卷)》中,有一段代碼理解的不是很清晰,望大神解析!代碼如下:function asyncify(fn) { var orig_fn = fn, intv = setTimeout(function() { intv = null; if (fn) fn(); },0); fn = null; return function() { //觸發(fā)太快,在定時器intv觸發(fā)指示異步轉(zhuǎn)換發(fā)生之前? if (intv) { fn = orig_fn.bind.apply( orig_fn, //把封裝器的this添加到bind(..)調(diào)用的參數(shù)中 //以及currying所有傳入?yún)?shù) [this].concat([].slice.call(arguments)) ); } //已經(jīng)是異步 else { //調(diào)用原來的函數(shù) orig_fn.apply(this, arguments); } };}問題一:觸發(fā)太快那兒,bind那條語句不是很明白。問題二:這里的currying 怎樣理解?求大神解答!感激不盡!
js有關(guān)驗證是否異步執(zhí)行的代碼
慕勒3428872
2019-02-26 13:08:33