文系未経験プログラマ

忘れてもいいように書く

Promiseの使い方

【前提知識】

JavaScriptの非同期処理で取得したデータを次の処理で使用しようとしてハマっていること

 

【本題】

 

 ・PromiseはES2015で新しく追加されたjsの機能

・分かりづらい非同期処理の流れをわかりやすく出来る

・new したpromiseをreturnしてその後に.thenで処理を繋げていける

var promise = getAsyncPromise("fileA.txt"); 
promise.then(function(result){
    // 取得成功の処理
}).catch(function(error){
    // 取得失敗時の処理
});

 

function asyncFunction() {
(1)
return new Promise(function (resolve, reject) {
setTimeout(function () {
resolve('Async Hello world');
}, 16);
});
}
(2)
asyncFunction().then(function (value) {
console.log(value); // => 'Async Hello world'
}).catch(function (error) {
console.error(error);
});

 

【感想】

・callbackで死にたくない

 

【参考】

JavaScript Promiseの本

 

promiseを使って書いたコードがどの順序で動いているのか見たくなったらコレ

http://bevacqua.github.io/promisees/#