文章目录
回调函数
函数f1的形参有f和n,在f1函数中,f作为函数名,n作为f的参数
函数f2的形参是n,在f2函数中打印n
f1(f2,n)是调用f1函数,并且将f2函数指针传进去,稍后在f1函数中调用f2
这就是回调
var f1=(f, n) => {
console.log("1");
f(n);
}
var f2=(n) => {
console.log(n);
}
f1(f2, 2);
通常都会把函调函数写成匿名,在调用一个函数时定义。
setTimeout函数原型:setTimeout(func, time)
setTimeout(() => {
console.log(1);
}, 1000);
回调函数很多情况都会结合异步来使用,因为我们需要等待被调用的函数返回来结果才能进行下一步。
异步-promise
当promise状态发生改变时就会触发then()里的响应函数继续处理后续任务
用法
var promise =new Promise(传一个函数)
promise.then() 某种意义上可以把then看成一直在监听这个事件
状态转变的两种可能
pending=>fulfilled
pending=>rejected
示例
var promise = new Promise((resolve, reject)=>{
if (true){
resolve('success');
}else{
reject('fail');
}
});
promise.then((res)=>{
console.log(res);
}).catch((err)=>{
console.log(err);
});