sql >> データベース >  >> RDS >> Mysql

MySQLクエリのコールバックを返し、Node.jsの配列にプッシュするにはどうすればよいですか?

    getWordメソッドは非同期です !

    したがって、2番目のconsole.log(wordList); 結果が返される前に(wordList.push(result);を呼び出す前に)出力されます。 初めて)

    また、 getParrotMessage でdb(非同期)をクエリするため returnステートメントの代わりにコールバック(またはPromiseまたは使用できるその他のもの)を使用する必要がある関数。

    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. Android-カーソルonMapReady(マーカー)

    2. Oracle spで2つの日付を追加するにはどうすればよいですか?

    3. MariaDB ColumnStore1.1.3GAを搭載した新しいMariaDBAXリリース

    4. MySQLを使用してJOINでGROUPBYのSUMを取得する