我有這樣的代碼:觸發連鎖承諾
this.array = [];
initArrayClicked() {
this.clearArr()
.then(this.addOneToArray.bind(this))
.then(this.addTwoToArray.bind(this));
}
我有按鈕,當我點擊它調用此函數,並在此赤岸承諾this.array
價值到底是[1, 2]
和那沒關係。
當我點擊按鈕兩次,this.array
每次都有不同的值([1, 2, 1, 2]
,[2, 1, 2]
)時,問題就開始了。
我希望當我點擊按鈕時,我的最終結果將是[1, 2]
並不重要,我點擊按鈕的方式並不重要。我想問題是,承諾的鏈條沒有變化,我從乞討開始,導致了不希望的結果。
我試圖尋找一個解決方案,但我找不到。
在此先感謝和抱歉我的英語!
你可以發佈你的其他功能嗎? addOneToArray,addTwoToArray –
這不是問題,但請注意,你假設你的承諾永遠不會被拒絕。並進一步考慮JayLane的觀點:請使用Stack Snippets('[<>]'工具欄按鈕)以**可運行的** [mcve]方式更新您的問題。 –
如果你有四次快速點擊,你想得到兩個結果('[1,2]',然後'[1,2]')或**一個**結果(只有一個'[1,2] )? –