2015年7月2日木曜日

nodejs、非同期、Promise 爺の手習い

四十の手習いで、node.js での開発をやってみる。

  • V8って何よ
  • node.js ってscriptのくせにサーバ書けるの?かなり生意気じゃね
  • javascript 型がないし、.で処理つなげたり function(hoge,function({} キモい
  • げー、非同期処理なのかよ。順序よく処理させるの苦労するじゃねえか

とりあえず、こんな感じである。
クロージャなんかもひいこら云ってるけど、もうjQueryで結構見てるので理解しないで動かしている恥ずかしい。理解したトコロで非同期処理されないのを保証しているクロージャ囲みのウザさ(例外処理がわやだコンチクショウ)的なところが。


・promise 使ってみた例(丸パクリだけど概念としてコレが一番大事だった)
function p(str) {
  return new Promise(function(resolve) {
    setTimeout(function() {
      resolve(str);
    }, 1000);
  });
}

//
p('Async 1').then(function(result) {
  console.log(result);
});

console.log('Sync 1'); 
 
  1. promiseで定義されている非同期型手続きを呼び出す場合 .then 使え。
    今のところthenableでないものは不便としか思えない。初学者ならば
    非同期処理を Promise(V8/node.jsなら最新のものにある)で括って
    呼び出すとき .then使って resolve()メソッドの中身を引っ張る。
    通常の return 文だけではどうにもならない。