Skip to content

Instantly share code, notes, and snippets.

View SastraNababan's full-sized avatar
😀

Sastra Nababan SastraNababan

😀
  • Indonesia
View GitHub Profile
@SastraNababan
SastraNababan / config.js
Created March 7, 2018 09:10
firebase config
import firebase from 'react-native-firebase'
const config = {
apiKey: "AIzaSyBiXJTuUD5Ya9PUM81l5qQ83bOZIAlvIGE",
authDomain: "react-native-73f21.firebaseapp.com",
databaseURL: "https://react-native-73f21.firebaseio.com",
projectId: "react-native-73f21",
storageBucket: "react-native-73f21.appspot.com",
messagingSenderId: "150783570753"
};
@SastraNababan
SastraNababan / products.json
Created March 7, 2018 02:24
Dummy Products
[
{
"id": 64833,
"productName": "Sleek Steel Mouse",
"price": 4520000,
"productDescription": "Dolores distinctio labore necessitatibus iste voluptatem repudiandae repellendus. Sit voluptas dicta nisi et consequuntur. Dolores a quia atque molestias. Eligendi excepturi consectetur maiores ea dolores minima repellendus dolores omnis. Nulla nam eius odio repellendus itaque magni.\n \rPariatur accusantium maxime aut et vel earum repellendus perspiciatis incidunt. Sed debitis est et odio adipisci eum est beatae quam. Voluptatem sint esse. Fuga sapiente nam. Ut veritatis incidunt rerum amet dolores culpa. Exercitationem maiores autem accusantium sint consequatur et et.\n \rQui eos aut iure aut reprehenderit at excepturi dolor distinctio. Omnis rem nulla. Vitae ut molestias aut nihil vel ut ipsam. Qui omnis sit qui fugit quia praesentium quia ad facilis.",
"image": "http://lorempixel.com/340/280/food/1"
},
{
"id": 98125,
@SastraNababan
SastraNababan / RN-Dimensions.js
Created November 16, 2017 14:23
React Native Dimensions Playground
import React from 'react'
import { StyleSheet, Text, View,Dimensions } from 'react-native'
const dim = Dimensions.get('screen')
export default class App extends React.Component {
state = {
screenWidth:dim.width,
screenHeight:dim.height,
orientation:this._getOrientation(dim.width,dim.height)
}
@SastraNababan
SastraNababan / promise_throw_vs_reject
Created November 2, 2017 23:34
Promise with throw vs reject
new Promise((resolve, reject) => {
reject('reject')
console.log('ALWAYS REACHED')
}).then(() => console.log("RESOLVED"))
.catch(() => console.log("REJECTED"));
new Promise((resolve, reject) => {
throw('err')
console.log('NEVER REACH')
})
@SastraNababan
SastraNababan / asyn_await_declaration
Created November 1, 2017 06:42
asyn/await declaration
// 1. Anonymous Async Function
let main = (async function() {
let value = await doAsync();
})();
// 2. Async Function Declaration
let main = async function() {
let value = await doAsync();
@SastraNababan
SastraNababan / serialParalel.js
Created November 1, 2017 06:11
Async/await serial vs paralel
const firstPromise= () => (new Promise((resolve,reject) => {
setTimeout(() =>{ resolve('first Promise')},1000)
}))
const secondPromise = () => ( new Promise((resolve,reject) =>{
setTimeout(() =>{ resolve('second Promise')},1000)
}))
const thirdPromise = () => ( new Promise((resolve,reject) =>{
@SastraNababan
SastraNababan / fetch async await error handling
Created November 1, 2017 04:56
fetch async await error handling
async function fetchWithAsyncAwait (id) {
try {
let response = await fetch(endpoint + id)
response = await response.json()
console.log(response)
} catch (error) {
console.log('opps' + error)
}
}
@SastraNababan
SastraNababan / fetchversus
Last active May 28, 2019 16:40
Fetch with Promise and Async/await
/* Promise */
const endpoint ='https://jsonplaceholder.typicode.com/users/'
function fetchWithPromise (id) {
fetch(endpoint + id)
.then(response => {
return response.json();
})
.then(user => {
console.log(user);
})
@SastraNababan
SastraNababan / promiseLoop
Created October 30, 2017 19:42
Promise in Looping Example
const doFetch = (url) => fetch(url).then(result => result.json())
let urls =[
'https://jsonplaceholder.typicode.com/posts/1',
'https://jsonplaceholder.typicode.com/posts/2',
'https://jsonplaceholder.typicode.com/posts/3',
'https://jsonplaceholder.typicode.com/posts/4',
]
let promises=[]
@SastraNababan
SastraNababan / promiseRace3
Created October 30, 2017 19:41
Promise Race Example 3
Promise.seriousRace = function(promises) {
let indexPromises = promises.map((p, index) => p.catch(() => {throw index}))
return Promise.race(indexPromises).catch(index => {
let p = promises.splice(index, 1)[0]
p.catch(e => console.log( e + ' terjatuh,ahh sudahlah lanjutkan saja'))
return Promise.seriousRace(promises)
})
}
let peserta1 = new Promise(resolve => setTimeout(resolve, 30, 'Peserta 1'))