Skip to content

Instantly share code, notes, and snippets.

View legalcodes's full-sized avatar

Jon Tippens legalcodes

  • San Francisco, California
View GitHub Profile
@legalcodes
legalcodes / main.dart
Last active November 25, 2019 23:30
execution_flow_1
void printOrderMessage () async {
print('Awaiting user order...');
var order = await fetchUserOrder();
print('Your order is: $order');
}
Future<String> fetchUserOrder() {
// Imagine that this function is more complex and slow.
return Future.delayed(Duration(seconds: 4), () => 'Large Latte');
}
@legalcodes
legalcodes / main.dart
Created June 10, 2019 23:08
execution_flow_2
void createOrderMessage () async {
var order = await getUserOrder();
print('Awaiting user order...');
print('Your order is: $order');
}
Future<String> getUserOrder() {
return Future.delayed(Duration(seconds: 4), () => 'Large Latte');
}
@legalcodes
legalcodes / main.dart
Last active November 27, 2019 18:07
handle_errors_example
void printOrderMessage () async {
try {
var order = await fetchUserOrder();
print('Awaiting user order...');
print(order);
} catch (err) {
print('Caught error: $err');
}
}
@legalcodes
legalcodes / main.dart
Last active November 25, 2019 23:40
handle_errors_practice.dart
// Implement changeUsername here
@legalcodes
legalcodes / main.dart
Last active November 25, 2019 23:25
What is a future? (error)
Future<void> fetchUserOrder() {
// Imagine that this function is fetching user info but encounters a bug
return Future.delayed(Duration(seconds: 3), () => throw Exception('Logout failed: user ID is invalid'));
}
void main() {
fetchUserOrder();
print('Fetching user order...');
}
@legalcodes
legalcodes / main.dart
Last active July 11, 2019 23:04
getUserOrder synchronous
// Synchronous
String createOrderMessage () {
var order = getUserOrder();
return 'Your order is: $order';
}
Future<String> getUserOrder() {
// Imagine that this function is more complex and slow
return Future.delayed(Duration(seconds: 4), () => 'Large Latte');
}
@legalcodes
legalcodes / main.dart
Last active August 20, 2019 23:38
Fade In Demo
import 'package:flutter_web/material.dart';
import 'package:flutter_web_test/flutter_web_test.dart';
import 'package:flutter_web_ui/ui.dart' as ui;
class FetchedItem extends StatelessWidget {
Widget build(BuildContext context) {
return Container(
margin: EdgeInsets.only(top:20.0),
decoration: BoxDecoration(color: Colors.amber),
constraints: BoxConstraints.expand(height: 60)
@legalcodes
legalcodes / main.dart
Last active October 25, 2019 17:43
Vanilla Animated Container
// Copyright 2019 the Dart project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license
// that can be found in the LICENSE file.
import 'dart:math';
import 'package:flutter_web/material.dart';
import 'package:flutter_web_test/flutter_web_test.dart';
import 'package:flutter_web_ui/ui.dart' as ui;
@legalcodes
legalcodes / main.dart
Created August 20, 2019 23:55
FlutterPad Template
import 'package:flutter_web/material.dart';
import 'package:flutter_web_test/flutter_web_test.dart';
import 'package:flutter_web_ui/ui.dart' as ui;
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Center(
@legalcodes
legalcodes / main.dart
Last active August 21, 2019 00:23
AnimatedIcon
import 'package:flutter_web/material.dart';
import 'package:flutter_web_test/flutter_web_test.dart';
import 'package:flutter_web_ui/ui.dart' as ui;
Map<String, AnimatedIconData> _icons = {
'add_event': AnimatedIcons.add_event,
'arrow_menu': AnimatedIcons.arrow_menu,
'close_menu': AnimatedIcons.close_menu,
'event_add': AnimatedIcons.event_add,
'home_menu': AnimatedIcons.home_menu,