2016-08-26 4 views
0

Was ist die beste Methode, um TypeScript async/await mit Node-Core-API (fs, Prozess usw.) zu verwenden?Verwenden von TypeScript async/await mit Node core api

Konvertieren eines Kernmoduls, Promises mit bluebird.promisifyAll() zu verwenden, wäre perfekt, außer dass Sie Typinformationen verlieren, und ich möchte das behalten können. Sie enden mit xxxAsync-Methodennamen und TypScript-Typisierungssystem hat keine Ahnung von ihrer Existenz.

Gibt es ein Projekt, das die Kern-API zu Rückgabeversprechen konvertiert hätte und über TypeScript-Definitionsdateien .d.ts verfügt?

Antwort

2

Überprüfen Sie die async-file Wrapper auf NPM. Es ist ein Ersatz für fs, der alle asynchronen Funktionen in einem Promise umschließt und stark typisiert. Es bietet auch einige Komfortfunktionen, um den Zugriff auf Textdateien und das Löschen von Dateien und Verzeichnissen zu vereinfachen.

0

Ich denke, das ist der bessere Weg:

// Example: checking file existence 
let res = await new Promise((resolve, reject) => { 
    fs.access(filePath, fs.constants.R_OK, async (err) => { 
     if (err) { 
      console.error('File does not exists or cannot be read'); 
      return resolve(false); 
     } 
     return resolve(true); 
    }); 
}); 
console.log(res); // Correctly resolved (true/false)