Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

var React = require('react/addons'); var UploadFileActionCreator = require('../actions/upload_file_action_creator'); var FileUploader = React.createClass({ getInitialState: function() { return { dragging: false }; }, uploadFiles: function(files) { var formData = new FormData(); for (var i = 0, f; f = files[i]; ++i) { formData.append('file', f); UploadFileActionCreator.upload(formData); } }, handle
(function (root) { 'use strict'; function Retmise(options) { if (this == null || this.constructor !== Retmise) { return new Retmise(options); } options = options || {}; options.retries = options.retries != null ? options.retries : 5; options.delay = options.delay != null ? options.delay : 500; options.timeout = options.timeout != null ? options.timeout : 0; options.onRetry = typeof options.onRetry
コールバック地獄を解消するPromiseパターン Promiseは非同期処理のデザインパターンの一つです。非同期処理関数の戻り値として「処理の途中」を意味するオブジェクトを返す事で、かゆいところに手を届くようにします。ちなみに言語によってはFutureと呼ばれることもあります。(参考: future - Wikipedia) 言語によって何が利点になるかは微妙に異なりますが、JavaScriptではコールバック地獄を抑止できる事が大きいでしょう。 JavaScriptでよく見られる非同期処理は、処理結果をコールバック関数で受けるパターンですね。標準APIでも頻繁に用いられています。
var p = new Promise(function(fulfill, reject){ console.log("start"); fulfill(""); }); p.then(function(result){ console.log("1-1"); }).then(function(result){ console.log("1-2"); }).then(function(result){ console.log("1-3"); }); p.then(function(result){ console.log("2-1") }).then(function(result){ console.log("2-2"); }).then(function(result){ console.log("2-3"); });
@armorik83です。ちょっと一段落ついたところで、そろそろ真剣にPromiseの中身を読む必要があるなーと感じたので、そのときのメモです。 読んだ実装 今回はjakearchibald/es6-promise v2.0.1を読んでいきます。基礎知識としてJavaScript Promiseの本にも目を通しておくとよいでしょう。 サンプルソース サンプルとしてPromise本の1.3.1を若干改変して利用させてもらいました。 var Promise = require('es6-promise').Promise; function getURL(URL) { return new Promise(function (resolve, reject) { var req = new XMLHttpRequest(); req.open('GET', URL, true); req.on
ES6形式のPromiseを使うときに頻出する3つのパターン。直列パターン、並列パターン、分岐パターンを説明します。 最近、Promise周りが盛り上がっていて、reduceを使ったほうが良いとか、ライブラリがどうとか・・・いう話を聞くのですが、そもそも「ベタに書いたときにどうするのが基本なのか」という情報が見つからないので書いてみました。 直列パターン 一番良く使うのは、複数の処理を直列につなげるパターンでしょう。#1が終わってから、#2、#2が終わってから#3というパターンです。 Promise.resolve() .then(function(){ return new Promise(function(fulfilled, rejected){ asyncFunc(function(){ fulfilled(); }); }) }) .then(function(){ return
#脱jQuery AngularJSやVue.jsでは、DOMの直接操作は推奨されません。 そうなると、jQueryはAJAXでしか使わなくなります。 であれば、AJAX専用のライブラリにまかせてしまって、jQuery依存を外したくなってきます。 というわけで、AJAXだけをやってくれるライブラリとして、SuperAgentを導入してみましょう。 #SuperAgent HTTPリクエストに特化したライブラリです。 Node.jsとブラウザ両方で使うことができます。 作者はExpress, Stylusの開発などで有名なTJです。 #superagentの良さ かわいい。 #ブラウザでの導入方法 まず、下記URLにアクセスし、ファイル名superagent.jsとして名前をつけて保存してください。 https://wzrd.in/standalone/superagent@latest s
今回、ゲーム攻略コミュニティ『GAMY』というサービスでRiot.jsを採用しました。 知る限りでRiot.jsで実装されたサイトの中でも最大規模のサービスだと思います。 これまではjQueryとjQueryプラグインを使っていましたが、デザインのリニューアルを機に、全部書き換えることにしました。 ドキュメントも兼ねてアウトプットしていきます。 Riot.jsとは Riot.jsは今流行りのReact.jsに似た仕組みを持っている、それで非常に軽量なJavaScriptライブラリーです。 最近GitHubのリポジトリが**/muut/riotjsから/riot/riot**にお引っ越しして、これからがより注目なライブラリーです。 詳しくはこちら↓ Riot公式 Riot.js 2.0 情報まとめ GitHub 捨てることを前提としたライブラリー選定 最初は今ブームの2大フレームワークとなっ
JavaScriptにもScalaにもPromiseという機能がありますが、全く内容が違って、しかもScalaのFutureがむしろJavaScriptのPromiseに似た機能なのでそれを整理します。 基本的には、言語によってちょっと違うFuture/Promiseをまとめてみたのシリーズの内容をはしょったものです。 まずはJavaScriptのPromiseは、非同期処理自体を抽象化したものとなっております。しかも、thenというPromiseを更に関数を適用して得たでPromiseでPromiseChainを書くことも可能です。 詳しくは、AzuさんのPromiseの本が詳しく書かれていますが、簡単な実装例で言うと、 function doubleUp(value) { return value * 2; } function increment(value) { return va
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く