美文网首页
异步 回调

异步 回调

作者: RickyWu585 | 来源:发表于2021-04-09 00:03 被阅读0次

    异步 同步

    区别

    异步:不能直接拿到结果
    同步:能直接拿到结果

    回调函数

    1. 异步任务需要在得到结果时通知JS来拿结果
    2. 写一个回调函数,并保存该函数地址
    3. 异步任务完成时,调用该函数地址
    4. 将得到的结果作为参数传给该函数

    判断同步 异步

    如果一个函数的返回值处于:

    • setTimeout
    • AJAX(即XMLHttprequest)
    • addEventListener()
      的内部,就是异步函数

    异步 回调 举例(掷骰子)

      function 掷骰子(fn){
        setTimeout(()=>{
            fn(parseInt(Math.random()*6)+1, 1000)
          })
      }  //一秒后拿到结果,将结果传给fn
    
    掷骰子( (x)=>{console.log(x)} )  //可简化为 `掷骰子(console.log)` ,只有参数个数一致才可以简化
    

    总结

    • 异步任务不能拿到结果
    • 于是我们传一个回调给异步任务
    • 异步任务完成时调用回调
    • 调用时把结果作为参数

    相关文章

      网友评论

          本文标题:异步 回调

          本文链接:https://www.haomeiwen.com/subject/mdvbkltx.html