2017-08-05 6 views
1
var Connection = require('tedious').Connection; 
var Request = require('tedious').Request; 

var config = { 
    userName: 'XXXX', 
    password: 'XXXX', 
    server: 'XXXX', 
    options: { 
     database: 'XXXX', 
     encrypt: true 
    } 
} 

var connection = new Connection(config); 

connection.on('connect', function (err) { 
    if (err) { 
     console.log(err); 
    } 
    else { 
     // // queryDatabase(); 
    } 
} 
); 

Wie rufen Sie "verbinden" synchronisieren und sequenziellen Fluss des Codes fortsetzen. Es gibt eine große Verkettung in meinem Code wegen der asynchronen Ausführung von Code. Was ist der beste Weg, um eine sequentielle Ausführung des Codes im Knoten js zu erreichen. Ich habe einige Bibliotheken gefunden https://www.npmjs.com/package/sync, aber denke nicht, um für Produktionszwecke zu verwenden.So rufen Sie mehrere API synchronisieren im Knoten js

+1

Sie können den normalen Fluss nicht fortsetzen. Stattdessen müssen Sie den Fluss innerhalb der Callback-Funktion oder in einer Funktion, die Sie von dort aufrufen, fortsetzen. So funktioniert die asynchrone Programmierung in nade.js. – jfriend00

Antwort

1

würde so etwas funktionieren?

var config = { 
    userName: 'XXXX', 
    password: 'XXXX', 
    server: 'XXXX', 
    options: { 
     database: 'XXXX', 
     encrypt: true 
    } 
} 

var connection = new Connection(config); 

function isConnected(){ 
    return new Promise(function(resolve, reject){ 
      connection.on('connect', function (err) { 
      if (err) { 
       reject(err); 
      } 
      else { 
       resolve(true); 
      } 
     } 
    ); 
    }) 
} 

isConnected().then(function(){ 
    // // queryDatabase(); 
}) 
+0

Kein anderes gutes Muster als dieses gefunden. In Anbetracht dessen, danke! –

+0

Es geht in Verkettung, Wie kann ich Kette entfernen? –

+0

Sie müssen immer Versprechungen verketten oder sie in einen Rückruf einpacken, wenn Sie wollen, dass Sachen sequentiell passieren – marvel308

Verwandte Themen