博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
异步与回调
阅读量:6784 次
发布时间:2019-06-26

本文共 930 字,大约阅读时间需要 3 分钟。

异步与同步

  • 什么是同步
    • 程序运行一般是同步的(synchronous),即按照书写的顺序执行。
    • 例子
    console.log('1')console.log('2')console.log('3')//输出结果为1 2 3复制代码
  • 什么是异步
    • 异步(asynchronous)与同步相对,即在前一个方法未执行完时,就开始运行后一个方法。
    • 例子:
      console.log('1')setTimeout(()=>{  console.log('2')},0)console.log('3')//这个的输出结果会是 1 3 2复制代码
  • 总而言之,同步就是顺序执行,异步就是不完全按顺序执行。

回调

  • 回调(callback):把一个函数作为参数传入到另一个函数中,并且满足某个时机调用这个函数,那么这个传进去的函数叫做回调函数。
  • 例子:
    function a(callback){    callback();};a(function(){});//这样当 a 函数运行到 callback()的时候,函数回调。复制代码
  • 应用: 如果我们要获取一个异步的完毕信号,不用回调是获取不到的请看下面:
    function doSomething() {  let result = ''  setTimeout(function() {    result = "finished"    return result  }, 1000)}console.log(doSomething()) //undefined复制代码
    那要怎样才能获取到异步返回的东西呢下面我们用用神奇的回调:
    function doSomething(continueDoSomething) {  let result = ''  setTimeout(function() {    result = "finished"    continueDoSomething(result)  }, 1000)}doSomething(function(result){  console.log(result)// "finished"})复制代码
    用了回调以后我轻易的拿到了异步的数据,问题解决。

转载地址:http://ujkgo.baihongyu.com/

你可能感兴趣的文章
如何防止http请求数据被篡改
查看>>
MyEclipse 2013集成JRebel
查看>>
indexOf()
查看>>
go语言学习
查看>>
tidb 安装
查看>>
phpcms V9.6.0版本整合百度ueditor1.4.3.2,包括水图片上传水印
查看>>
Tiptop GP中Excel的控制方法
查看>>
JavaWeb分页技术总结
查看>>
基于unity框架构造IOC容器
查看>>
Windows更新导致的打印问题
查看>>
Chrome 控制台不完全指南
查看>>
Notification与多线程
查看>>
高可用、高扩展性、负载均衡
查看>>
VIM用法
查看>>
oscache.properties文件配置
查看>>
新建索引的一些原则
查看>>
redis发布了集群版3.0.0 beta
查看>>
使用Gradle在嵌入式Web容器Jetty中运行Web应用
查看>>
100-98
查看>>
Innodb中的事务隔离级别和锁的关系
查看>>