Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Node.js सिंक्रोनस रूप से लूप या एसिंक्रोनस स्टेटमेंट पर पुनरावृति

रिकर्सन के साथ कोड बहुत साफ है। http प्रतिक्रिया के वापस आने की प्रतीक्षा करें और फिर अगले प्रयास को बंद कर दें। यह नोड के सभी संस्करणों में काम करेगा।

var urls = ['http://stackoverflow.com/', 'http://security.stackexchange.com/', 'http://unix.stackexchange.com/'];

var processItems = function(x){
  if( x < urls.length ) {
    http.get(urls[x], function(res) {

      // add some code here to process the response

      processItems(x+1);
    });
  }
};

processItems(0);

वादों का उपयोग करने वाला समाधान भी अच्छा काम करेगा, और अधिक संक्षिप्त है। उदाहरण के लिए, यदि आपके पास एक प्राप्त का संस्करण है जो एक वादा लौटाता है और नोड v7.6+, आप इस उदाहरण की तरह एक async/प्रतीक्षा फ़ंक्शन लिख सकते हैं, जो कुछ नई JS सुविधाओं का उपयोग करता है।

const urls = ['http://stackoverflow.com/', 'http://security.stackexchange.com/', 'http://unix.stackexchange.com/'];

async function processItems(urls){
  for(const url of urls) {
    const response = await promisifiedHttpGet(url);    
    // add some code here to process the response.
  }
};

processItems(urls);

नोट:ये दोनों उदाहरण त्रुटि प्रबंधन को छोड़ देते हैं, लेकिन संभवतः आपके पास यह एक उत्पादन ऐप में होना चाहिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. XML फ़ाइल से Google मानचित्र API में मार्कर लोड हो रहा है

  2. सिम्फनी 2 में सिद्धांत 2:मैं कैसे देख सकता हूं कि कौन सी ऑब्जेक्ट-कॉल एक क्वेरी में ले जाती है?

  3. न्यूनतम मान प्राप्त करने की क्वेरी जो शून्य से अधिक है, पूर्ण नहीं है

  4. एक PHP फ़ाइल से AJAX एक पर एक बूलियन लौटाएं - बटन का पालन करें

  5. Mysql चुनें कि तालिका में कहाँ नहीं है