node.js - Multiple requests asynchronously with same callback function -
<पूर्व>
var parseedUrl = req.body.parsedUrl; console.log (parsedUrl); Var विकल्प = {url: 'https://api.github.com/repos/' + पार्स्ड युल, हेडर: {'उपयोगकर्ता-एजेंट': 'अनुरोध'}}; Var विकल्प 2 = {url: 'https://api.github.com/repos/' + पार्स्ड युल + '/ रीडमे', हेडर: {'उपयोगकर्ता-एजेंट': 'अनुरोध'}}; फ़ंक्शन कॉलबैक (त्रुटि, प्रतिक्रिया, शरीर) {यदि (! त्रुटि और amp; response.statusCode == 200) {var info = JSON.parse (body); Thing.create (info, function (err, thing) {//console.log(info); if (err) {return handle error (res, err);} return res.json (201, बात);}); } Else {console.log ('github अनुरोध त्रुटि'); }} अनुरोध (विकल्प, कॉलबैक); अनुरोध (विकल्प 2, कॉलबैक);
असल में, मुझे दो अनुरोध करने की आवश्यकता है ताकि मेरे प्रश्न निम्न हैं: 1. मैं उन दो अनुरोधों को कैसे एसिंक्रोनस async मॉड्यूल का उपयोग कर सकता हूँ। मैंने async.parallel का उपयोग करने की कोशिश की है लेकिन सिंटैक्स अनुरोध के वाक्यविन्यास के साथ अच्छी तरह से नहीं खेलता है क्योंकि async.parallel कॉलबैक लेता है।
2. मैं परिणामों को कैसे मर्ज कर सकता हूँ? मुझे उन्हें मोंगो में एक ही वस्तु में एक ही समय में डेटाबेस से बचाने की आवश्यकता है।
मुझे आशा है कि यह समझ में आता है आप async
लाइब्रेरी का उपयोग कर सकते हैं:
विकल्प
और options2
के साथ एक सरणी बनाएं और अनुरोध कॉल करें
npm install async --save
/ कोड> सरणी में प्रत्येक आइटम पर:
async.map ([options, options2], अनुरोध, फ़ंक्शन (त्रुटि, परिणाम) {// परिणाम [0] विकल्प के लिए प्रतिक्रिया है // परिणाम [1] विकल्प 2 / के लिए प्रतिक्रिया है / आप उन्हें यहां मर्ज कर सकते हैं और एक दस्तावेज़ के रूप में mongodb में डालें});
Comments
Post a Comment