Skip to content

Instantly share code, notes, and snippets.

@raugustinus
Created August 9, 2017 15:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save raugustinus/f9d2a4302f93c717b0c849cb7f33fa46 to your computer and use it in GitHub Desktop.
Save raugustinus/f9d2a4302f93c717b0c849cb7f33fa46 to your computer and use it in GitHub Desktop.
Typescript and Promises
import * as fs from 'fs';
export class Runner {
constructor() {}
readFile(filename: string): Promise<any | Error> {
return new Promise((resolve, reject) => {
fs.readFile(filename, (err, result) => {
if(err) {
if (err.errno == -2) { // non existant
reject('File does not exist');
} else if (err.errno == -13) {
reject('I have no access to this file')
}
reject('Unknown error'); // unknown
}
// no errors? then we're ok!
resolve(result);
});
});
}
}
let runner: Runner = new Runner();
runner.readFile('file.txt')
.then( result => {console.log(`file.txt -> result: ${result}`)})
.catch(error => {console.log(`file.txt -> error: ${error}`)})
runner.readFile('no-access-file.txt')
.then( result => {console.log(`no-access-file.txt -> result: ${result}`)})
.catch(error => {console.log(`no-access-file.txt -> error: ${error}`)})
runner.readFile('non-existant-file.txt')
.then( result => {console.log(`non-existant-file.txt -> result: ${result}`)})
.catch( error => {console.log(`non-existant-file.txt -> error: ${error}`)});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment