Edited at

Promiseさん

More than 3 years have passed since last update.

ES6でPromiseを使ったコードをさくっと書けなかったので使い方を確認しとく。

// 後処理はrequestが終わった後に呼び出したいが、

// reqeustが非同期なので処理順序が前後する

var request = require('request');
url = 'http://jsonplaceholder.typicode.com/posts/1';

request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(JSON.parse(body).id);
} else {
console.error('error: '+ error);
}
})

console.log('後処理')

// Promiseをつかって順序良く処理する

var request = require('request');
url = 'http://jsonplaceholder.typicode.com/posts/1';

new Promise((resolve, reject) => {
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(JSON.parse(body).id);
resolve() // 200 ok なら次へ
} else {
console.error('error: '+ error);
reject() // エラーだったら終わる
}
})
})
.then(() => {
console.log('後処理')
})

Promiseさん!

(Promiseサイコーって人ならMonadとか似たようなものの気がするし、すぐ好きになりそうな気がするけどどうなんだろう)