📜  如何将连接结果保存在 Node.js 中的变量中?(1)

📅  最后修改于: 2023-12-03 14:53:05.152000             🧑  作者: Mango

如何将连接结果保存在 Node.js 中的变量中?

在 Node.js 中,我们经常需要使用数据库或者 API 来获取数据,然后将其保存在变量中以后续使用。本文将介绍如何将连接结果保存在 Node.js 中的变量中。

1. 使用回调函数

在 Node.js 中,一般使用回调函数来处理异步操作。当获取到连接结果后,将其传递给回调函数,在回调函数中将其保存在变量中。以下是示例代码:

const mysql = require('mysql');

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'test'
});

let result;  // 定义变量保存连接结果

connection.connect((err) => {
  if (err) {
    console.error('连接失败: ', err);
  } else {
    console.log('连接成功');
    connection.query('SELECT * FROM users', (err, rows) => {
      if (err) {
        console.error('查询失败: ', err);
      } else {
        console.log('查询成功');
        result = rows;  // 将连接结果保存在变量中
      }
    });
  }
});
2. 使用 Promise

另外一种保存连接结果的方式是使用 Promise。以下是示例代码:

const mysql = require('mysql');

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'test'
});

function query(sql) {
  return new Promise((resolve, reject) => {
    connection.query(sql, (err, rows) => {
      if (err) {
        reject(err);
      } else {
        resolve(rows);  // 返回连接结果
      }
    });
  });
}

async function main() {
  let result;  // 定义变量保存连接结果
  try {
    console.log('连接成功');
    result = await query('SELECT * FROM users');  // 将连接结果保存在变量中
    console.log('查询成功');
  } catch (err) {
    console.error('查询失败:', err);
  }
  console.log(result);
}

connection.connect((err) => {
  if (err) {
    console.error('连接失败: ', err);
  } else {
    main();
  }
});
结论

无论你选择何种方式将连接结果保存在 Node.js 中的变量中,仔细阅读文档并编写测试代码都是必要的。只有通过不断实践,我们才能熟练地使用 Node.js 保存连接结果。