js回调与异步

回调函数

函数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);
});

猜你喜欢

转载自blog.csdn.net/weixin_42172261/article/details/121062779
今日推荐