मैं एसिंक्रोनस-नेस के बारे में मूलभूत चीज़ को समझता हूं: चीजें अनुक्रमिक रूप से निष्पादित नहीं होती हैं। और मैं समझता हूं कि इसके बारे में कुछ बहुत शक्तिशाली है ... कथित तौर पर। लेकिन मेरे जीवन के लिए मैं कोड के चारों ओर अपने सिर लपेट नहीं सकता। आइए एसिंक नोड.जेएस कोड पर एक नज़र डालें जो मैंने लिखा है ... लेकिन वास्तव में नहीं मिलता है।लेमन के नियमों में असीमित कोड को समझना
function newuser(response, postData) {
console.log("Request handler 'newuser' was called.");
var body = '<html>' +
'<head>' +
'<meta http-equiv="Content-Type" content="text/html; ' +
'charset=UTF-8" />' +
'</head>' +
'<body>' +
'<form action=" /thanks" method="post">' +
'<h1> First Name </h1>' +
'<textarea name="text" rows="1" cols="20"></textarea>' +
'<h1> Last Name </h1>' +
'<textarea name="text" rows="1" cols="20"></textarea>' +
'<h1> Email </h1>' +
'<textarea name="text" rows="1" cols="20"></textarea>' +
'<input type="submit" value="Submit text" />' +
'</body>' +
'</html>';
response.writeHead(200, { "Content-Type": "text/html" });
response.write(body);
response.end();
}
प्रतिक्रिया फिर से कहां से आई? डाटा डालो? मैं इस "कॉलबैक" में एक चर को परिभाषित क्यों नहीं कर सकता और फिर इसे कॉलबैक के बाहर उपयोग कर सकता हूं? क्या कुछ चीजें अनुक्रमिक होने के लिए एक तरीका है तो शेष प्रोग्राम async?
तकनीकी बिंदु से आप सही हैं, लेकिन जो आपने याद किया वह था "आप पहली जगह में कॉलबैक क्यों करना चाहते हैं"। यही कारण है कि एसिंक इतना महत्वपूर्ण बनाता है। – jcolebrand
मैं यह नहीं कहूंगा कि मैंने इसे एक या दो बार पढ़ा नहीं होगा - लेकिन शायद यह सबसे अच्छा स्पष्टीकरण है जो शारीरिक रूप से यहां दिए बिना दे सकता है, हे। – PinkElephantsOnParade
मुझे लगता है कि कॉलबैक कैसे काम करता है यह समझने के लिए यह एक महान स्पष्टीकरण है - इसके लिए धन्यवाद! – wmock