什么叫做回调地狱
回调地狱,在js里,在异步js里,回调函数写的太多了,回调套回调,然后很难凭直觉看懂代码。
举一个回调地狱的例子
show(() => {
hide(() => {
show(() => {
hide(() => {
show(() => {
dra()
})
})
})
})
})
怎么避免回调地狱
1、写浅一些,不要层层嵌套;
2、使用模块化技术;
3、对错误进行单独处理,而不是套很多错误处理的回调;
1、推荐使用 使用Promise
2、推荐使用 promise 和 ES7推出的 async/await 异步等待 完美编写
function p() {
return new Promise((resolve, reject) => {
setTimeout(()=>{
resolve("hello word")
},1000)
})
}
async function asyncFun(){
var data = await p();
return data;
}
var temp = asyncFun()
temp.then(data=>{
console.log(data)
})