Ersetzen von Rückrufen durch Versprechen in Node.js

Habe ich eine einfache Knoten-Modul, welches eine Verbindung zu einer Datenbank und hat mehrere Funktionen, um Daten zu empfangen, zum Beispiel diese Funktion:


dbConnection.js:

import mysql from 'mysql';

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

export default {
  getUsers(callback) {
    connection.connect(() => {
      connection.query('SELECT * FROM Users', (err, result) => {
        if (!err){
          callback(result);
        }
      });
    });
  }
};

Des Moduls aufgerufen werden würde, auf diese Weise von einem anderen Knoten, Modul:


app.js:

import dbCon from './dbConnection.js';

dbCon.getUsers(console.log);

Möchte ich nutzen, verspricht anstelle von Rückrufen, um die Daten zurückzugeben.
So weit ich gelesen habe, über verschachtelte verspricht in den folgenden thread: Schreiben Sauberen Code Mit Verschachtelten Verspricht, aber ich konnte nicht finden keine Lösung, die einfach genug für diesen Anwendungsfall.
Was wäre der richtige Weg, um wieder result mit einem Versprechen?

InformationsquelleAutor der Frage Lior Erez | 2015-02-10

Schreibe einen Kommentar