Skip to content

Instantly share code, notes, and snippets.

@jfsiii
Created February 9, 2016 01:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jfsiii/ccbdbc13322f7d8183e1 to your computer and use it in GitHub Desktop.
Save jfsiii/ccbdbc13322f7d8183e1 to your computer and use it in GitHub Desktop.
esnextbin sketch
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>ESNextbin Sketch</title>
<!-- put additional styles and scripts here -->
</head>
<body>
<!-- put markup and other contents here -->
</body>
</html>
import Task from 'data.task'
import Observable from 'zen-observable'
var promise = getPromise()
console.log('made promise')
var task1 = getTask()
var task2 = getTask()
var combinedTask = task1.chain(() => task2)
console.log('made tasks')
combinedTask.fork(console.error.bind(console), console.log.bind(console))
var observable = getObservable();
console.log('made observable')
observable.subscribe({
next(val) { console.log("observable received next value: " + val) },
error(err) { console.log("observable received an error: " + err) },
complete() { console.log("observable stream complete") },
});
function getTask() {
console.log('returning new task')
return new Task(function (reject, resolve) {
console.log('setting task timeout')
setTimeout(function () {
console.log('Task has finished')
resolve()
}, 100)
})
}
function getPromise() {
console.log('returning new promise')
return new Promise(function (resolve, reject) {
console.log('setting promise timeout')
setTimeout(function () {
console.log('Promise has finished')
resolve()
}, 100)
})
}
function getObservable() {
console.log('returning new observable')
return new Observable(function (observer) {
console.log('setting observer timeout')
setTimeout(function () {
console.log('Observable has new value')
observer.next(Date.now())
}, 100)
setTimeout(function () {
console.log('Observable has new value')
observer.next(Date.now())
}, 300)
setTimeout(function () {
console.log('Observable has finished')
observer.complete()
}, 1000)
})
}
{
"name": "esnextbin-sketch",
"version": "0.0.0",
"dependencies": {
"data.task": "3.0.0",
"zen-observable": "0.1.9",
"babel-runtime": "6.3.19"
}
}
'use strict';
var _promise = require('babel-runtime/core-js/promise');
var _promise2 = _interopRequireDefault(_promise);
var _data = require('data.task');
var _data2 = _interopRequireDefault(_data);
var _zenObservable = require('zen-observable');
var _zenObservable2 = _interopRequireDefault(_zenObservable);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var promise = getPromise();
console.log('made promise');
var task1 = getTask();
var task2 = getTask();
var combinedTask = task1.chain(function () {
return task2;
});
console.log('made tasks');
combinedTask.fork(console.error.bind(console), console.log.bind(console));
var observable = getObservable();
console.log('made observable');
observable.subscribe({
next: function next(val) {
console.log("observable received next value: " + val);
},
error: function error(err) {
console.log("observable received an error: " + err);
},
complete: function complete() {
console.log("observable stream complete");
}
});
function getTask() {
console.log('returning new task');
return new _data2.default(function (reject, resolve) {
console.log('setting task timeout');
setTimeout(function () {
console.log('Task has finished');
resolve();
}, 100);
});
}
function getPromise() {
console.log('returning new promise');
return new _promise2.default(function (resolve, reject) {
console.log('setting promise timeout');
setTimeout(function () {
console.log('Promise has finished');
resolve();
}, 100);
});
}
function getObservable() {
console.log('returning new observable');
return new _zenObservable2.default(function (observer) {
console.log('setting observer timeout');
setTimeout(function () {
console.log('Observable has new value');
observer.next(Date.now());
}, 100);
setTimeout(function () {
console.log('Observable has new value');
observer.next(Date.now());
}, 300);
setTimeout(function () {
console.log('Observable has finished');
observer.complete();
}, 1000);
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment