#関数の種類、早見表
名前 | ソースコード | 補足 |
---|---|---|
名前付き関数 | function() 関数名 {} | |
匿名関数(関数式) | const 関数名 = function() {} | |
高階関数 | function(関数) {関数} | 引数に関数をとる関数のこと。また、引数の関数をコールバック関数という。 |
##コールバック関数の課題
コールバック関数を使うと、ネストになりがち
↓
new Promise(()=>{}).thenで、ネストを解消
でも、行数が増えがち
↓
async (){ await }で、簡略化
#通信成功時と失敗時のコールバック関数
const 非同期関数 = function (成功時関数, 失敗時関数) {
if (...) {
成功時関数(成功res)
} else {
失敗時関数(失敗res)
}
}
#Promise
new Promise (function (resolve, reject) {
asynchronous(
function(成功res) {
resolve(成功res)
},
function(失敗res) {
reject(失敗res)
},
)
})
axios
function getStatus () {
return new Promise(function (resolve, reject) {
axios.get("URL")
.then(function(res) {
resolve(res.status)
}).catch(function(error) {
reject(error.res.status)
})
})
}
#async await
async function () {
try {
const 成功res = await 非同期関数
成功時処理
} catch(失敗res) {
失敗時処理
}
}
axios
async function getStatus () {
try {
const res = await axios.get("URL")
return res
} catch(error) {
return error
}
}
上記のように、分かりやすくtry
も書いたが、いらなくても良い。