Promise的3种状态描述如下:
Fulfilled - 当异步请求成功完成并给出响应时
Rejected - 当异步请求不成功并且没有给出响应时,可能是由于网络错误,身份验证或授权错误等
Pending - 在请求发送和响应返回之间
什么是回调函数?
回调- 是作为参数传递给不同函数的函数,然后在该函数体内调用
const nums = [1, 2, 3, 4, 5];
const myMap = (callbackFunc, nums) => {
newNums = [];
for (const num of nums) {
newNums.push(callbackFunc(num));
}
return newNums;
};
const modifiedNums = myMap((num) => num * num, nums);
console.log(modifiedNums) // [1, 4, 9, 16, 25]
为什么我们需要回调?
回调函数非常有用,尤其是在异步操作中,例如:当获取数据或失败时调用回调以指示请求是成功还是失败。或者在用户单击按钮的事件中,触发回调以在回调主体中执行代码。
const generateReportBtn = document.querySelector(".generate-report");
const generateReport = ()=>{
// do something
}
generateReportBtn.addEventListener("click", generateReport)
const populatePeople = ()=>{
// do something
}
setTimeout(populatePeople, 2000)
什么是回调地狱以及如何避免它?
回调地狱- 这个术语用于描述回调函数何时相互嵌套太深,这使得调试此代码变得更加困难,因为即使是此代码的作者也很难阅读。解决方案是使用异步等待或承诺链接。
标签:状态,异步,const,函数,应许,nums,num,三种,回调 From: https://blog.51cto.com/u_16307147/9127516