私は非常に基本的なシナリオを持っています。私はNodeJSアプリケーションでMySQLへの作成操作呼び出しを作成しています。作成操作(成功または失敗)の結果が得られたら、私はいくつかのコードを実行する必要があります。NodeJS:MySQLへの作成操作が完了するまでコード実行を停止する方法
しかし、結果に依存するNodeJSのコードの非同期動作のために、MySQLの作成操作が結果を返す前に実行されています。ここで
は私のコードは私が正しくあなたの質問を理解していれば、私は知らない
calculation.js
var mysql = require("mysql"); var methods = {}; // Creating connection methods.executeQuery = function(selectQuery, values){ var result; var con = mysql.createConnection({ host: "localhost", user: "root", password: "*********", database: "******" }); // getting connection con.connect(function(err){ if(err){ console.log('Error connecting to Db'); return; } console.log('Connection established'); }); con.query(selectQuery, values, function(err,rows){ if(err) throw err; console.log(rows); result = rows; console.log(result); return result; }); } module.exports = methods;
client.js
var execute = require("./calculate.js"); var selectQuery = 'INSERT INTO users (username,password) VALUES (?,?)'; var values = ['sohamsoham12','sohamsoham12']; var insertedRowInfo = execute.executeQuery(selectQuery, values); if(insertedRowInfo){ console.log("true"); }else{ console.log("false"); }
を行う必要があります。 executeQuery(selectQuery、values); '上記の文の後にコードが必要になり、結果が戻ってくるまで結果が来ます。成功すればtrueを返します。else false。しかし、今は待っていないので、いつもブロックされているのです。 –
O.k.、申し訳ありません...あなたの質問を完全に理解しました。私の更新された答えを見てください... – MarcoS