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

नोडज एक्सप्रेस/मार्ग और mysql

मेरा मानना ​​है कि आप इन कॉलों की गैर-अवरुद्ध प्रकृति की अनुमति नहीं दे रहे हैं। वेरिएबल को गलत पर सेट किया जाता है, कनेक्शन को कॉल किया जाता है और फिर कॉल बैक लंबित होने के माध्यम से गिरता है। कॉल बैक पूरा करने से पहले, आप तुरंत प्रतिक्रिया प्रस्तुत करते हैं।

module.exports = function(app){
    app.get('/register/check/u/:username', function(req, res){
        // you set the value of the output var
        var output = 'false';
        // this is a non-blocking call to getConnection which fires the callback you pass into it, once the connection happens.  The code continues on - it doesn't wait.
        pool.getConnection(function(err, conn) {
            query = conn.query('SELECT * FROM users WHERE username LIKE ?', [req.params.username]);
            query.on('error', function(err){
                throw err;
            });
            query.on('result', function(row){
                var output = 'true';
                console.log(row.email);
                console.log(output);
            });
           conn.release();
        });

        // you are getting here before the callback is called
        res.render('register/check_username', { output: output});
    });
);

आपको कंसोल में सही मूल्य क्यों मिलता है? क्योंकि अंततः कॉलबैक को कॉल किया जाता है और वह करता है जो आप उम्मीद करते हैं। इसे केवल res.render के बाद कहा जाता है

यह आपके इच्छित कोड की अधिक संभावना है:

module.exports = function(app){
    app.get('/register/check/u/:username', function(req, res){
        pool.getConnection(function(err, conn) {
            query = conn.query('SELECT * FROM users WHERE username LIKE ?', [req.params.username]);
            query.on('error', function(err){
                throw err;
            });
            query.on('result', function(row){
                var output = 'true';
                console.log(row.email);
                console.log(output);
                res.render('register/check_username', { output: output});
            });
           conn.release();
        });
    });
);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं mysql में स्टोर कोड कैसे सत्यापित कर सकता हूं और परिणाम सही होने पर तालिका को अपडेट कर सकता हूं

  2. उद्धरणों में स्लैश जोड़ने के लिए डेटाबेस को कैसे रोकें

  3. क्या वर्चर पर सूचकांक प्रदर्शन में अंतर करता है?

  4. PHP/MySQL डेटाबेस क्वेरी वास्तव में कैसे काम करती हैं?

  5. मैंने General_log तालिका गिरा दी, मैं इसे फिर से कैसे बनाऊं?