Skip to content

Instantly share code, notes, and snippets.

View FagnerMartinsBrack's full-sized avatar
🎯
Focusing

Fagner Brack FagnerMartinsBrack

🎯
Focusing
View GitHub Profile
@FagnerMartinsBrack
FagnerMartinsBrack / WithPromises.js
Created March 10, 2016 01:02
(Medium) Promises Are Not Proxies - With Promises
const fetchSoccerMatches = fetchSoccerMatchesFromResource( ... );
const fetchSoccerResults = fetchSoccerResultsFromResource( ... );
let soccerMatches;
fetchSoccerMatches
.then(function( _soccerMatches ) {
soccerMatches = _soccerMatches;
return fetchSoccerResults;
})
@FagnerMartinsBrack
FagnerMartinsBrack / OutOfContext.js
Created March 10, 2016 01:03
(Medium) Promises Are Not Proxies - Out of Context
...
fetchSoccerMatchesFromResource( ... )
.then(function( soccerMatches ) {
const detailedMatches = soccerMatches.map(function( match ) {
return {
name: match.name,
score: findScoreForMatch( match, soccerResults )
};
});
@FagnerMartinsBrack
FagnerMartinsBrack / PromisesWithSyncCode.js
Last active March 27, 2016 07:34
(Medium) Promises + Sync Code = Disaster - Promises With Sync Code
const fetchSoccerResults = fetchSoccerResultsFromResource( ... );
const loadSoccerMatchesToVariable = function( _soccerMatches ) {
soccerMatches = _soccerMatches;
};
const loadSoccerResultsToVariable = function( _soccerResults ) {
soccerResults = _soccerResults;
}
const mapDetailedMatches = function(){
return soccerMatches.map(function( match ) {
@FagnerMartinsBrack
FagnerMartinsBrack / CodeIsNotSelfDocumented.js
Created March 27, 2016 07:36
(Medium) Promises + Sync Code = Disaster - Code is Not Self Documented
...
fetchSoccerMatchesFromResource( ... );
.then( addToCache )
.then( filterMatchesFrom( 'Germany' ) )
})
.catch( printError );
...
@FagnerMartinsBrack
FagnerMartinsBrack / LegitSyncUsage.js
Created March 27, 2016 07:39
(Medium) Promises + Sync Code = Disaster - Legit Sync Usage
...
fetchSoccerMatchFromResource()
.then(function( match ) {
if ( cachedDetails[ match.id ] ) {
// Returns the resolved data
return cachedDetails[ match.id ];
}
// Returns a Promise
return fetchMatchDetails( match.id );
@FagnerMartinsBrack
FagnerMartinsBrack / CorrectUsageSyncAsync.js
Created March 27, 2016 07:42
(Medium) Promises + Sync Code = Disaster - Correct Usage of Sync and Async
const mapDetailedMatches = function( soccerMatches, soccerResults ){
return soccerMatches.map(function( match ) {
return {
name: match.name,
score: findScoreForMatch( match, soccerResults )
};
});
};
const printDetailedMatchesToScreen = function( detailedMatches ) {
detailedMatches.forEach(function( detailedMatch ) {
@FagnerMartinsBrack
FagnerMartinsBrack / RequireStatementAlignment.js
Created April 5, 2016 13:05
(Medium) Why Aligning Statements Will Haunt You - Require Statement Alignment
const _ = require('lodash');
const moment = require('moment');
@FagnerMartinsBrack
FagnerMartinsBrack / BrokenRequireStatementAlignment.js
Created April 5, 2016 13:06
(Medium) Why Aligning Statements Will Haunt You - Broken Require Statement Alignment
const _ = require('lodash');
const moment = require('moment');
const readableStream = require('readable-stream');
@FagnerMartinsBrack
FagnerMartinsBrack / DiffForBrokenRequireStatementAlignment.diff
Last active April 5, 2016 13:09
(Medium) Why Aligning Statements Will Haunt You - Diff For Broken Require Statement Alignment
const _ = require('lodash');
const moment = require('moment');
+ const readableStream = require('readable-stream');
@FagnerMartinsBrack
FagnerMartinsBrack / DiffForFixedBrokenRequireStatementAlignment.diff
Created April 5, 2016 13:10
(Medium) Why Aligning Statements Will Haunt You - Diff For Fixed Broken Require Statement Alignment
- const _ = require('lodash');
- const moment = require('moment');
+ const _ = require('lodash');
+ const moment = require('moment');
+ const readableStream = require('readable-stream');