Rumah > Artikel > hujung hadapan web > Cara melakukan pertanyaan segerak dalam Node.js
Dalam Node.js, pertanyaan pangkalan data selalunya diperlukan. Menyoal pangkalan data ialah operasi I/O, dan panggilan tak segerak biasanya digunakan untuk mengelak daripada menyekat acara lain. Walau bagaimanapun, dalam beberapa kes kita perlu melakukan pertanyaan segerak. Artikel ini akan memperkenalkan cara melakukan pertanyaan segerak dalam Node.js.
1. Pertanyaan tak segerak Node.js
Biasanya, Node.js menggunakan pertanyaan tak segerak untuk mengelak daripada menyekat acara lain. Sebagai contoh, kita boleh menggunakan kumpulan sambungan mysql Node.js untuk melaksanakan pertanyaan tak segerak seperti berikut:
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); }); }); }
Dalam kod di atas, fungsi asyncQuery
akan melaksanakan pertanyaan tak segerak dan menghantar keputusan melalui The fungsi panggil balik kembali.
2. Pertanyaan segerak Node.js
Dalam sesetengah kes, kami perlu melaksanakan pertanyaan SQL secara segerak, seperti memuatkan kandungan pangkalan data semasa pemula. Dalam Node.js, anda boleh menggunakan modul sync-mysql
untuk melaksanakan pertanyaan segerak. sync-mysql
Modul akan membuat sambungan baharu secara automatik untuk setiap pertanyaan dan menangguhkan penutupan sambungan untuk membenarkan penggunaan semula sambungan. Berikut ialah contoh pertanyaan segerak:
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); }
Dalam kod di atas, kami mencipta sambungan SyncMySQL
, laksanakan pertanyaan menggunakan kaedah query
dan menyimpan hasilnya dalam rows
pembolehubah. Jika ralat berlaku, ralat akan ditangkap melalui pernyataan catch
dan mesej ralat akan dikeluarkan.
Perlu diambil perhatian bahawa pertanyaan segerak boleh menyekat acara lain dalam aplikasi, jadi hanya gunakan pertanyaan segerak apabila perlu. Jika anda perlu melaksanakan berbilang pertanyaan, lebih baik menggunakan panggilan tak segerak.
Kesimpulan
Apabila melakukan pertanyaan pangkalan data dalam Node.js, adalah perkara biasa untuk menggunakan pertanyaan tak segerak untuk mengelak daripada menyekat acara lain. Walau bagaimanapun, dalam beberapa kes, seperti semasa permulaan, kita perlu melakukan pertanyaan segerak. Artikel ini memperkenalkan cara melakukan pertanyaan segerak dalam Node.js saya harap ia akan membantu anda.
Atas ialah kandungan terperinci Cara melakukan pertanyaan segerak dalam Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!