美文网首页
异步 回调

异步 回调

作者: 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)` ,只有参数个数一致才可以简化

总结

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

相关文章

  • 异步的实现

    异步的三种实现方式: 回调函数事件Promise 回调函数 回调函数不一定是异步 但是异步一定是回调函数。 事件 ...

  • 同步、异步

    同步:等待结果异步:不等待结果 注意,异步常常伴随回调一起出现,但是异步不是回调,回调也不一定是异步。 【时序图】...

  • 异步和回调

    异步 异步就是「不等结果」,直接进行下一步怎么拿到结果回调可以拿到结果 回调 「回调是一种拿异步结果的方式」「回调...

  • 你不知道的JS(中卷)第七章

    第七章 回调 回调是js异步的基本单元。随着js越来越成熟,对于异步编程的发展,回调已经不够用了。回调表达异步流的...

  • Dart 语法

    回调 dart定义回调 dart使用回调 延时 异步

  • nodeJS回调函数

    NodeJS异步编程的直接体现就是回调函数。 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。回调函...

  • Node.js 回调函数

    Node.js 异步编程的直接体现就是回调。 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。 回调...

  • 14.回调地狱与 Promise

    回调地狱 为了保证异步代码的执行顺序,将异步代码嵌套到回调函数中,当异步的方法多了,就会产生回调地狱(callba...

  • 异步处理:回调函数与promise

    前置知识回调可以是同步也可以是异步,异步必须放在回调里执行,也就是对于一个异步任务只有回调函数里的才是异步的,比如...

  • Node.js - 回调函数

    Node.js 异步编程的直接体现就是回调。异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。 回调函...

网友评论

      本文标题:异步 回调

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