Skip to content

Instantly share code, notes, and snippets.

@shundroid
Created April 7, 2016 08:24
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 shundroid/1237769dba030c68623411104d6b53fd to your computer and use it in GitHub Desktop.
Save shundroid/1237769dba030c68623411104d6b53fd to your computer and use it in GitHub Desktop.
// 読み込むとき、ES6 ( + browserify) だと便利
import Rx from "rx"; // ES6 modules
var images = ["1.png", "2.png", "3.png"];
function loadImages() {
return Rx.Observable.create(loadImagesObservable);
}
function loadImagesObservable(observer) {
var index = 0;
var loadImage = (name) => {
var elem = document.createElement("image");
elem.src = name;
elem.onload = function() {
observer.onNext(index);
if (index >= images.length - 1) {
observer.onCompleted();
} else {
loadImage(images[++index]);
}
}
};
loadImage(images[index]);
return function() { console.log("廃棄されました。"); };
}
function main() {
var subscription = loadImages().filter(index => index % 5 === 0).subscribe((index) => {
console.log(index + "個目を読み込みました");
}, err => {
console.log("Observe Error: " + err);
}, () => {
console.log("読み込み完了");
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment