में एक विकृत वादा को रद्द करना डीओएम से तत्व को हटाए बिना मैं एक वादा कैसे रद्द कर सकता हूं?jQuery
मैं इस कोड भाग गया: इस के बाद
$("#box")
.delay(2000)
.show("slow")
.delay(2000)
.promise()
.then(function(){log("Done");});
, वहाँ वादा रद्द करने के लिए एक तरीका है? clearQueue()
और stop(true)
दोनों काम नहीं करते थे, क्योंकि यह एक एनीमेशन नहीं है जिसे मैं रद्द करने का प्रयास कर रहा हूं। मैंने देखा कि remove()
इसे करना चाहिए ... लेकिन मैं केवल वादा को रोकना चाहता हूं, पूरे तत्व को नहीं हटाऊंगा।
यदि आपके पास केवल वादा वस्तु है (और मूल स्थगित करने की कोई पहुंच नहीं है), तो ऐसा करना असंभव होना चाहिए। एक वादा का विचार संकल्प/अस्वीकार कार्यक्षमता के बिना, स्थगित किए जाने वाले अस्वीकार या अस्वीकार करने में सक्षम होना है। आप क्या कर सकते हैं एक वादा रैपर बनाते हैं जो मूल वादे फ़ंक्शन को उजागर करता है, लेकिन सभी कॉलबैक एक रैपिंग फ़ंक्शन से बंधे होते हैं जो किसी प्रकार के ध्वज को सुनता है ताकि कॉलबैक को ट्रिगर करने से बचने के लिए रद्द कर दिया गया हो। –
लगभग, आप वास्तव में केवल एक स्थगित बनाना चाहते हैं और मैन्युअल रूप से इसे अस्वीकार या हल करना चाहते हैं कि आप फिट कैसे देखते हैं। –