In Node.js sind häufig Datenbankabfragen erforderlich. Das Abfragen der Datenbank ist ein E/A-Vorgang, und asynchrone Aufrufe werden normalerweise verwendet, um das Blockieren anderer Ereignisse zu vermeiden. In einigen Fällen müssen wir jedoch synchrone Abfragen durchführen. In diesem Artikel wird erläutert, wie Sie synchrone Abfragen in Node.js durchführen.
1. Asynchrone Abfrage von Node.js
Normalerweise verwendet Node.js eine asynchrone Abfrage, um das Blockieren anderer Ereignisse zu vermeiden. Beispielsweise können wir den MySQL-Verbindungspool von Node.js verwenden, um eine asynchrone Abfrage auszuführen, wie unten gezeigt:
const mysql = require('mysql'); const pool = mysql.createPool({ host: 'localhost', user: 'username', password: 'password', database: 'database_name' }); function asyncQuery(sql, values, callback) { pool.getConnection(function(err, connection) { if (err) { return callback(err); } connection.query(sql, values, function(err, results) { connection.release(); if (err) { return callback(err); } callback(null, results); }); }); }
Im obigen Code führt die Funktion asyncQuery
eine asynchrone Abfrage aus und leitet die Ergebnisse weiter Die Callback-Funktion kehrt zurück. asyncQuery
函数将会执行异步查询,并将结果通过回调函数返回。
二、Node.js同步查询
在某些情况下,我们需要以同步的方式执行SQL查询,例如在初始化时需加载数据库内容。在Node.js中,可以使用sync-mysql
模块来实现同步查询。sync-mysql
模块将自动为每个查询创建一个新的连接,并延迟关闭连接,以便允许连接复用。以下是一个同步查询的例子:
const SyncMySQL = require('sync-mysql'); const connection = new SyncMySQL({ host: 'localhost', user: 'username', password: 'password', database: 'database_name' }); try { const rows = connection.query('SELECT * FROM users'); console.log(rows); } catch (err) { console.error(err); }
在上面的代码中,我们创建了一个SyncMySQL
连接,使用query
方法执行查询,并将结果存储在rows
变量中。如果发生错误,将会通过catch
sync-mysql
verwenden, um synchrone Abfragen zu implementieren. Das sync-mysql
-Modul erstellt automatisch eine neue Verbindung für jede Abfrage und verzögert das Schließen der Verbindung, um die Wiederverwendung der Verbindung zu ermöglichen. Das Folgende ist ein Beispiel für eine synchrone Abfrage: rrreee
Im obigen Code erstellen wir eineSyncMySQL
-Verbindung, führen die Abfrage mit der Methode query
aus und speichern die Ergebnisse in rows Variable. Wenn ein Fehler auftritt, wird der Fehler durch die catch
-Anweisung erfasst und die Fehlermeldung ausgegeben. Es ist zu beachten, dass synchrone Abfragen möglicherweise andere Ereignisse in der Anwendung blockieren. Verwenden Sie daher synchrone Abfragen nur bei Bedarf. Wenn Sie mehrere Abfragen ausführen müssen, ist es besser, asynchrone Aufrufe zu verwenden. 🎜🎜Fazit🎜🎜Bei Datenbankabfragen in Node.js werden häufig asynchrone Abfragen verwendet, um das Blockieren anderer Ereignisse zu vermeiden. In einigen Fällen, beispielsweise während der Initialisierung, müssen wir jedoch synchrone Abfragen durchführen. In diesem Artikel wird erläutert, wie Sie synchrone Abfragen in Node.js durchführen. Ich hoffe, dass er für Sie hilfreich ist. 🎜Das obige ist der detaillierte Inhalt vonSo führen Sie synchrone Abfragen in Node.js durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!