मैं कुछ जेएस कोड लिख रहा हूं जो वादे का उपयोग करता है। उदाहरण के लिए, मैं एक फॉर्म पॉप-अप खोलता हूं और मैं jQuery Deferred ऑब्जेक्ट देता हूं। यह इस तरह से काम करता है: उपयोगकर्ता प्रपत्र पर ठीक क्लिक करता हैमुझे एक वादा कब अस्वीकार करना चाहिए?
हैं, और यह एक वस्तु प्रपत्र डेटा का प्रतिनिधित्व करने के लिए पुष्टि आस्थगित हल करता है।
यदि उपयोगकर्ता रद्द करें क्लिक करता है, तो डिफरर्ड एक शून्य को हल करता है।
जो मैं तय करने का प्रयास कर रहा हूं उसे हल करने के बजाए डिफरर्ड को अस्वीकार कर देना चाहिए? आम तौर पर, मैं सोच रहा हूं कि मुझे किसी शून्य वस्तु की तरह कुछ हल करना चाहिए, और मुझे कब अस्वीकार करना चाहिए?
// Resolve with null.
var promise = form.open()
.done(function (result) {
if (result) {
// Do something with result.
} else {
// Log lack of result.
}
});
// Reject.
var promise = form.open()
.done(function (result) {
// Do something with result.
})
.fail(function() {
// Log lack of result.
});
एक डिजाइन निर्णय की तरह लगता है जो किसी भी तरह से मान्य है। –
मुझे नहीं लगता कि एक विधि दूसरे की तुलना में बेहतर है, लेकिन मैं आमतौर पर किसी गलत मूल्य के बजाय 'असफल' को जोड़ता हूं जैसे किसी चुने हुए मूल्य के बजाय अपवाद, यानी वादा पूरा करने के बजाय वादे को पूरा करने में विफलता एक निश्चित मूल्य के साथ। –
@ExplosionPills हाँ, यही वह है जिसे मैं संभालने की कोशिश कर रहा हूं। तो मुझे अपवाद के रूप में एक ही गंभीरता के रूप में एक वादे अस्वीकृति का इलाज करना चाहिए? – cdmckay