javascript - 如何等待connection.connect

标签 javascript vue.js electron

我需要一种方法来检查一些 mysql 连接。
在返回函数之前如何等待连接?

function _testConnection( _host, _user, _password, _database) {
  let status = false;
  let connection = mysql.createConnection({
    host     : _host,
    user     : _user,
    password : _password,
    database : _database
  });

  connection.connect((err) => {
    status = !err;
    connection.destroy();
  });

  // How to wait here for the connection?
  return status;
}

最佳答案

您可以创建一个 Promise 并从中获取返回值

function _testConnection( _host, _user, _password, _database) {
  return new Promise((resolve, reject) => {
    let status = false;
    let connection = mysql.createConnection({
      host: _host,
      user: _user,
      password: _password,
      database: _database
    });

    connection.connect((err) => {
      status = !err;
      connection.destroy();
      resolve(status)
    });
  })
}

你可以调用这个函数

_testConnection(...).then(status => {
  console.log(status)
})

关于javascript - 如何等待connection.connect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57231774/

相关文章:

javascript - 如何在 Vue 中获得 ajax 响应后更改/触发 HTML DOM

raspberry-pi - 无法在 Raspbian 上使用 Electron 构建应用程序

typescript - 在 mac 上构建后在 Electron 应用程序中找不到模块

javascript - 对多个 HTML 复选框执行条件

javascript - 如何在 Shiny 的应用程序加载时触发 JS 脚本

javascript - 使用 AJAX 根据选择填写表单字段

javascript - 在 Vue 中绑定(bind)组件属性

vue.js - 如何在nuxtjs中将布局属性传递给页面组件

javascript - 带 Electron 的 ElasticSearch JS

javascript - 异步函数调用是否可以在两个同步语句之间完成?