Created
August 9, 2017 15:09
-
-
Save raugustinus/f9d2a4302f93c717b0c849cb7f33fa46 to your computer and use it in GitHub Desktop.
Typescript and Promises
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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