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

मैं MySQL क्वेरी का कॉलबैक कैसे लौटाऊं और Node.js में किसी सरणी को पुश करूं?

आपकी विधि getWord एसिंक्रोनस है !

तो दूसरा console.log(wordList); किसी भी परिणाम के वापस आने से पहले प्रिंट किया जाता है (इससे पहले कि आप wordList.push(result); पर कॉल करें। पहली बार)

इसके अलावा जब से आप getParrotMessage . में db (जो अतुल्यकालिक है) को क्वेरी करते हैं फ़ंक्शन आपको रिटर्न स्टेटमेंट के बजाय कॉलबैक (या प्रॉमिस या जो कुछ भी इस्तेमाल किया जा सकता है) का उपयोग करने की आवश्यकता है।

function getParrotMessage(callback) {

    getWord('result', function (err, result) {

        if(err || !result.length) return callback('error or no results');
        // since result is array of objects [{word: 'someword'},{word: 'someword2'}] let's remap it
        result = result.map(obj => obj.word);
        // result should now look like ['someword','someword2']
        // return it
        callback(null, result);

    });
}

function getWord(word, callback) {
    con.query('SELECT * FROM word_table', function(err, rows) {
        if(err) return callback(err);
        callback(null, rows);
    });
};

अब इसे इस तरह इस्तेमाल करें

getParrotMessage(function(err, words){
    // words => ['someword','someword2']

});



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. हाइबरनेट के साथ थोक डालें या अपडेट करें?

  2. विंडोज फोन 8.1 ऐप एक डेटाबेस से जुड़ता है

  3. वर्डप्रेस क्वेरी:मिलान की गई पंक्तियों की क्रमवार संख्या?

  4. चेक दो तारीख दो अन्य तारीखों के बीच नहीं थी + MYSQL

  5. डेटाबेस में सम्मिलित करें डेटाबेस में संबंधों के कारण काम नहीं कर रहा है