diff --git a/badthing.js b/badthing.js new file mode 100644 index 0000000..3b2b79f --- /dev/null +++ b/badthing.js @@ -0,0 +1,19 @@ +function doBadThing(forRealz){ + return new Promise(function(resolve, reject){ + if(!forRealz){ + resolve("Yay!") + } else { + reject("truthy") + } + }) +} + +doBadThing(true).then(function(result){ + console.log(result) +}) + +doBadThing(true).then(function(result){ + console.log(result) +}).catch(function(err){ + console.log(err) +}) \ No newline at end of file diff --git a/callingFS.js b/callingFS.js new file mode 100644 index 0000000..6cbc2e7 --- /dev/null +++ b/callingFS.js @@ -0,0 +1,24 @@ +var fsp = require('./modules/fsp.js') + + +fsp.readFile('text.txt', 'utf-8').then(function(data) { + console.log(data); + }) + .catch(function(err) { + console.error(err); + }); + + fsp.writeFile('message.txt', "hello", 'utf-8').then(function(data) { + console.log(data); + }) + .catch(function(err) { + console.error(err); + }); + + fsp.appendFile('text.txt', 'Hello again! I am editing gibberish', 'utf-8') + .then(function(res) { + console.log(res); + }) + .catch(function(err) { + console.error(err); + }); \ No newline at end of file diff --git a/emitterchild.js b/emitterchild.js new file mode 100644 index 0000000..b97ecd2 --- /dev/null +++ b/emitterchild.js @@ -0,0 +1,10 @@ +var emitter = require('./modules/emitter.js') +//var Emitter = require('events'); + +var myEmitter = new emitter.Emitter() +myEmitter.on("write", function(){ console.log("write") }) +myEmitter.on("write", function(){ console.log("read") }) +myEmitter.on("write", function(){ console.log("hello") }) +myEmitter.emit("write") +myEmitter.removeListener("write", function(){ console.log("hello") }) +//myEmitter.removeAllListeners("write") diff --git a/index.js b/index.js new file mode 100644 index 0000000..446a1fb --- /dev/null +++ b/index.js @@ -0,0 +1,54 @@ + +let myFunc = function( result ) { + console.log( result ); +} +let count = 1000 +let prom = new Promise( function( resolve, reject ){ + setTimeout(function(){ + resolve( "Hello Promise!" ) + }, 1000); +}); + +prom.then(myFunc) + +function delay(milliseconds){ + return new Promise( function(resolve, reject){ + setTimeout(function(){ + resolve( milliseconds ) + }, 1000); + }) +} + +function countdown(){ + return delay(count).then(function(){ + if(count >= 100){ + console.log(count) + count -=100 + } else{ + console.log("Done!") + } + + }) +} + +delay( 1000 ) + .then( countdown ) + .then( countdown ) + .then( countdown ) + .then( countdown ) + .then( countdown ) + .then( countdown ) + .then( countdown ) + .then( countdown ) + .then( countdown ) + .then( countdown ) + .then( countdown ) + + +/* + (function(){ + console.log( "done" ); + console.log( "now What" ); + })(); +*/ + diff --git a/message.txt b/message.txt new file mode 100644 index 0000000..b6fc4c6 --- /dev/null +++ b/message.txt @@ -0,0 +1 @@ +hello \ No newline at end of file diff --git a/modules/emitter.js b/modules/emitter.js new file mode 100644 index 0000000..11f997c --- /dev/null +++ b/modules/emitter.js @@ -0,0 +1,52 @@ +/* +Attach an event listener with emitter.on(eventType, callback) +Attach subsequent listeners with emitter.on +Emit an event with emitter.emit(eventType) +This should result in all listeners attached to that event being invoked +Remove a listener with emitter.removeListener(eventType, callback) +Remove all listeners on an event with emitter.removeAllListeners(eventType) +*/ +let myFuncs = { + Emitter: function(){ + + this.storage = {}, + this.on = function(eventType, callback){ + + if(!this.storage[eventType]) {this.storage[eventType] = []} + this.storage[eventType].push(callback) + //console.log(this.storage) + return this + }, + + this.emit = function(eventType){ + this.storage[eventType].forEach(function(item){ + item() + }) + //console.log(this.storage) + return this + }, + + this.removeListener = function(eventType, callback){ + this.storage[eventType].forEach(function(item, index){ + if(item === callback){ + //this.storage[eventType].splice(index, 1) + } + }) + //console.log(this.storage) + return this + }, + + this.removeAllListeners = function(eventType){ + this.storage[eventType].forEach(function(item, index){ + this.storage[eventType].splice(0, this.storage[eventType].length - 1) + }) + console.log(this.storage) + return this + } + return this + } +} + + + +module.exports = myFuncs diff --git a/modules/fsp.js b/modules/fsp.js new file mode 100644 index 0000000..ada603e --- /dev/null +++ b/modules/fsp.js @@ -0,0 +1,48 @@ +var fs = require("fs"); + + let fsp = { + readFile: function(path, encoding) { + return new Promise(function(resolve, reject){ + fs.readFile( path, encoding, function(err, data){ + if(err) {throw (err)} else{resolve( data )} + }) + }) + }, + writeFile: function(path, message, encoding) { + return new Promise(function(resolve, reject){ + fs.writeFile( path, message, encoding, function(err, data){ + if(err) {throw (err)} + resolve(data) + }) + }) + }, + appendFile: function(path, message, encoding) { + return new Promise(function(resolve, reject){ + fs.appendFile( path, message, encoding, function(err, data){ + if(err) {throw (err)} + resolve(data) + }) + }) + } + } + + + + + + + + /* +let path = "./text.txt"; + +fs.readFile(path, "utf-8", function(err, data){ + console.log(data); +}); + +let hello = console.log("hello world!"); +hello; +let goodbye = 3; + +*/ + +module.exports = fsp diff --git a/numbers.js b/numbers.js new file mode 100644 index 0000000..bb9d720 --- /dev/null +++ b/numbers.js @@ -0,0 +1,18 @@ +let numbers = function(number){ + return new Promise(function(resolve, reject){ + if(typeof number !== "number"){ + reject("not a number") + } else { + resolve(number * number) + } + }) +} +let numArray = [2,56,67,8,90,88] + +let mapped = numArray.map(numbers) + +Promise.all(mapped).then(function(results){ + console.log(results) +}) + +numbers(3) \ No newline at end of file diff --git a/text.txt b/text.txt new file mode 100644 index 0000000..28524bd --- /dev/null +++ b/text.txt @@ -0,0 +1 @@ +hellelkrmvqlrvqekl;rbmvqel;tb mqetbl;mqelt;bHello again! I am editing gibberishHello again! I am editing gibberishHello again! I am editing gibberishHello again! I am editing gibberish \ No newline at end of file diff --git a/untitled b/untitled new file mode 100644 index 0000000..e69de29