Skip to content

Instantly share code, notes, and snippets.

View fengyfei's full-sized avatar
🏠
Working from home

Feng Yifei fengyfei

🏠
Working from home
View GitHub Profile
@fengyfei
fengyfei / main.dart
Last active April 22, 2019 10:56
Mixin with Abstract Method
mixin WorkMixin {
void work();
void start() {
this.work();
}
}
class Updater with WorkMixin {
@override
@fengyfei
fengyfei / main.dart
Last active April 22, 2019 11:24
HttpRequest.getString Sample
// https://github.com/npm/download-counts
import 'dart:html';
const npmDownloadBase = 'https://api.npmjs.org/downloads/point/';
void fetchDownloadCounts({String repo='koa', String period='last-week'}) async {
var resp = await HttpRequest.getString('$npmDownloadBase${period}/$repo');
print(resp);
}
@fengyfei
fengyfei / svelte-mdc-button.html
Last active April 26, 2019 05:57
Svelte with MDC Button.
<link rel="stylesheet" href="https://unpkg.com/material-components-web@latest/dist/material-components-web.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<p>
<button class="mdc-button mdc-button--raised">
Raised Button
</button>
</p>
<p>
@fengyfei
fengyfei / main.go
Created May 15, 2019 09:34
[sync.Pool] Return interface
package main
import (
"fmt"
"sync"
)
type (
Executor interface {
Execute() error
@fengyfei
fengyfei / main.dart
Last active May 21, 2019 07:05
[dart:async] Future from function
import 'dart:async';
main() {
Future<int> future = Future(() => 1024);
future.then((val) => print(val))
.catchError((err) => print(err));
print("Finished!");
}
@fengyfei
fengyfei / main.dart
Created May 21, 2019 07:33
[dart:async] Await a Future
import 'dart:async';
main() async {
Future<int> future = Future(() => 1024);
try {
print(await future);
} catch(err) {
print(err);
}
@fengyfei
fengyfei / main.dart
Created May 21, 2019 11:23
[dart:async] Future.wait
import 'dart:core';
import 'dart:async';
Future<bool> validateSender = Future<bool>.delayed(Duration(seconds: 1), () {
print('validate sender...');
return true;
});
Future<bool> validateReceiver = Future<bool>.delayed(Duration(seconds: 3), () {
@fengyfei
fengyfei / main.dart
Created May 21, 2019 12:04
[dart:async] Future Chain
import 'dart:core';
import 'dart:async';
Future<bool> exception = Future<bool>.delayed(Duration(seconds: 1), () {
print('Somehow, a exception happend...');
throw 'Just a Exception, freeze!';
});
Future procedure = Future(() {
@fengyfei
fengyfei / main.dart
Created May 22, 2019 03:59
[dart:async] StreamController basic usage
import 'dart:async';
main() {
StreamController controller = StreamController();
controller.stream.listen((val) {
print('Event received: $val');
}, onDone: () {
print('Stream done');
});
@fengyfei
fengyfei / main.dart
Created May 22, 2019 04:50
[dart:async] StreamTransformer Basic Usage
import 'dart:async';
main() {
StreamTransformer transformer = StreamTransformer<num, num>.fromHandlers(
handleData: (num val, EventSink sink) {
sink.add(val + 1);
}
);
StreamController controller = StreamController<num>();
Stream transformed = controller.stream.transform(transformer);