Slide 74
Slide 74 text
© GO Inc.
Confidential
A(Aarg, (Ares) => {
B(Ares.field, (Bres) => {
C(Bres, (Cres) => {
D(Cres, (Dres) => {
console.log("結果:", Dres);
})
})
})
});
Promiseによるコールバック地獄の解消
74
→ メソッドチェーンによりネ
ストを深くすることなく、
多段の非同期処理が記述でき
るようになった
A(Aarg)
.then((Ares) => B(Ares.field))
.then((Bres) => C(Bres))
.then((Cres) => D(Cres))
.then((Dres) => {
console.log("結果:", Dres);
});
function A() {
return new Promise((resolve, reject) => {
const req = fetchData(url);
if (req.status == 200) {
resolve(req.data);
} else {
reject(new Error("Oops"));
}
});
}