Gunakan Janji untuk Memproses Nilai Pulangan MySQL dalam Node.js
Sifat asynchronous Node.js menimbulkan cabaran bagi pembangun yang terbiasa dengan pengaturcaraan segerak. Ini boleh diilustrasikan dengan fungsi seperti getLastRecord yang mengambil data daripada fungsi MySQL.
Apabila cuba mengembalikan nilai daripada getLastRecord, pembangun mungkin menghadapi masalah disebabkan sifat async nod. Begini cara untuk menangani perkara ini menggunakan Promises:
<code class="javascript">function getLastRecord(name) { return new Promise((resolve, reject) => { const connection = getMySQL_connection(); const query_str = "SELECT name, " + "FROM records " + "WHERE (name = ?) " + "LIMIT 1 "; const query_var = [name]; connection.query(query_str, query_var, (err, rows, fields) => { if (err) { return reject(err); } resolve(rows); }); }); }</code>
Untuk mengendalikan nilai yang dikembalikan, anda boleh menggunakan kemudian dan menangkap panggilan balik:
<code class="javascript">getLastRecord('name_record').then(function(rows) { // Processing of rows goes here }).catch((err) => { throw err; });</code>
Janji membolehkan anda mengelakkan sarang panggilan balik dan menambah baik kod kebolehbacaan. Ia menjadi amat berguna apabila digabungkan dengan Promise.all dan accumulator seperti Array.prototype.reduce.
Atas ialah kandungan terperinci Bagaimanakah Janji boleh Digunakan untuk Mengendalikan Keputusan MySQL Asynchronous dalam Node.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!