問題:
function
queue()
實現佇列queue的兩個方法:
add(timeout, callback)
-- 給佇列中新增方法
start()
-- 執行佇列中的方法,執行完之後佇列清空
實現鏈式呼叫
例如:var que =
newqueue()
que.
add(
1000
,function()
).add(
2000
,function()
).add(
1000
,function()
).start()
// 輸出1 2 3 時間間隔為1s 2s 1s
解法:利用while迴圈來延時
queue.prototype.
add=
function
(time, func)
func()
}))return
this
}queue.prototype.
start
=function()
)this
.arr =
return
this
}借助promise的鏈式呼叫
class
queue
add(timeout, callback)
)return
this
}// promise方法
start()
)for
(let i=
0;i<
this
.queue.length;i++)=
this
.queue[i]
promise = promise.
then((
)=>
, timeout)})
})}this
.queue =
null}}
async
/await
class
queue
add(timeout, callback)
)return
this
}// async/await方法
async
start()
=this
.queue[i]
await
newpromise
((resolve)
=>
,timeout)})
}}}
閉包的鏈式呼叫問題
function fun n,o var a fun 0 a.fun 1 a.fun 2 a.fun 3 undefined,var b fun 0 fun 1 fun 2 fun 3 undefined,var c fun 0 fun 1 c.fun 2 c.fun 3 undefined,問 三...
Promise 巢狀鏈式呼叫的問題
promise鏈式呼叫巢狀的問題,哈哈哈 雖然這個問題在正常開發中應該不會遇到,但是誰讓咱們是程式設計師呢,就是喜歡搞事情,這個問題就是搞promise鏈式巢狀呼叫 new promise function promise1 resolve,reject then function then1 th...
jQuery鏈式呼叫
鏈式 input type button eq 0 click function end eq 1 click function end eq 2 toggle function function 找出type型別為button的input元素 找到第乙個按鈕,並繫結click事件處理函式 返回所有...