首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

重学JavaScript Promise API

函数 在拥有JavaScript Promise之前,处理异步操作最优雅的方式是使用回。当异步操作的结果就绪就是一个运行的函数。...; }, 1000); 这里,setTimeout是一个异步函数,在指定的毫秒数后运行传递给它的函数。在本例中,它在一秒后将 "Hello, World!"打印到控制。...该代码web服务发出异步请求,以 JSON 格式返回一个随机的笑话: const promise = new Promise((resolve, reject) => { const request...(注意,我们在这里使用的是箭头函数)在中,我们 https://icanhazdadjoke.com/ 创建了一个 Ajax 请求,该请求以 JSON 格式返回一个随机的笑话。...catch方法 我们还可以使用catch方法,它可以为我们处理错误。当一个Promise在Promise链的任何地方rejected,控制跳转到最近的拒绝处理函数中。

13420

Android 蓝牙开发(1)

当一远程蓝牙设备此设备发出连接请求,BluetoothServerSocket 将会在接受连接后返回已连接的 BluethoothSocket。...BluetoothProfile 的实现类 BlutoothA2dp 定义高质量音频如何通过蓝牙连接和流式传输,从一设备传输到另一台设备。“A2DP”代表高级音频分发配置文件。...,必须同时实现服务端和客户端机制,因为其中一设备必须开放服务器套接字,另一台设备必须发起连接(使用服务器设备的 MAC 地址发起连接)。...然后任一设备可以发起与另一台设备的连接,并成为客户端。或者其中一设备可显示“托管”连接并按需开放一个服务器套接字,从而另一台设备则直接发起连接。...在连接之前如果两个设备没有配对,则系统自动发出配对请求 连接为服务器 当连接两设备,其中一必须保持开发的 BluetoothServerSocket 来充当服务器,用于监听传入的连接请求,在接受了请求后提供一个已经连接的

2.4K01
您找到你想要的搜索结果了吗?
是的
没有找到

前端高频面试题(五)(附答案)

Node 的 Event Loop 分为 6 个阶段,它们按照顺序反复运行。每当进入某一个阶段的时候,都会从对应的队列中取出函数去执行。...(4)Poll(轮询阶段):当队列不为空执行,若中触发了相应的微任务,这里的微任务执行时机和其他地方有所不同,不会等到所有执行完毕后才执行,而是针对每一个执行完毕后,就执行相应微任务...当队列为空(没有或所有执行完毕):但如果存在有计时器(setTimeout、setInterval和setImmediate)没有执行,结束轮询阶段,进入 Check 阶段。...一般在只需要从客户端往服务器端发送信息,服务器端不需要往客户端发送内容使用。(3)206 Partial Content该状态码表示客户端进行了范围请求服务器端执行了这部分的 GET 请求。...对 Cookie 进行双重验证,服务器在用户访问网站页面请求域名注入一个Cookie,内容为随机字符串,然后当用户再次服务器发送请求的时候,从 cookie 中取出这个字符串,添加到 URL 参数中

67621

跨域Access-Control-Allow-Origin解决方案

同源策略是浏览器的行为,是为了保护本地数据不被JavaScript代码获取回来的数据污染,因此拦截的是客户端发出请求回来的数据接收,即请求发送了,服务器响应了,但是无法被浏览器接收。...通常为了减轻web服务器的压力,我们会把js、css,img等静态资源分离到另一台独立域名的服务器上,使其和前端分离开。基于这个原因,浏览器并没有限制这类静态资源的跨域访问。...服务器端也需要做一点改变,不能直接返回json,而是返回一个立即执行的函数,前端请求的结果就作为函数的参数。...函数执行: ? jQuery实现jsonp 一般我们会使用jQuery来做ajax请求,这样需要增加一个jQuery的引用。...请求方式 jsonpCallback: "_ajax_callback", // 函数名 data: {} }); vue.js实现jsonp 现在前端vue.js用的也很多

5.7K71

脚本化HTTP 取得响应 指定请求

其他 一些更多的通信协议,包括rpc(远程过程调用)允许运行于一计算机的程序调用另一台计算机程序的子程序。如果面向对象编程,则远程过程调用为远程调用,远程方法调用。...ajax 在本地写js的时候,必须搭建一个服务器其AJAX才能工作 原因:因为文件的协议为file本地的请求的协议为http,由于同源策略的影响,导致无法使用http协议的文件,故本地无法直接使用ajax...下面编写函数获取HTTP响应的onreadystatechange // 发出一个HTTP GET请求获取指定的URL的内容 // 当响应成功到达,验证它是否是纯文本 // 如果是,将会把它传递给指定的函数...', url); // 创建一个指定待获取的url request.onreadystatechange = () => { // 当GRT请求完成以后,触发该事件,产生函数 // 如果请求完成...确定响应为文本 callback(request.responseText); // 函数,将返回的DOM树,传递给函数 } }; request.send(null); //

1.4K40

初学者必看Ajax的总结

(默认为 true,一般不建议为 false) false:同步模式发出请求暂停所有 javascript 代码的执行,知道服务器获得响应为止,如果浏览器在连接网络时或者在下载文件出了故障,页面就会一直挂起...在客户端声明函数之后,客户端通过 script 标签服务器跨域请求数据,然后服务端返回相应的数据并动态执行函数 用 XMLHttpRequest ,我们得到一个字符串;要用JSON.parse...(可选) Object 发送至服务器的 key / value 数据 callback(可选) Function 请求完成函数,无论是请求成功还是失败 $.get()和$.post()方法 load...页的地址 data(可选) Object 发送至服务器的 key/ value 数据作为 QueryString 附加到请求 URL 中 callback(可选) Function 载入成功的函数.../调用本次 Ajax 请求传递的 options 参数} success Function 请求成功后调用的函数,有两个参数(1)由服务器返回,并根据 dataTyppe 参数进行处理后的数据(2

2.6K40

HTML5之WebSocket

举例来说,HTTP协议有点像发电子邮件,发出后要等待对方回信;WebSocket则是像打电话,服务器端和客户端可以同时对方发送数据,它们之间存在着一条持续打开的数据通道。...浏览器发出的WebSocket请求类似于下面的样子: GET / HTTP/1.1 Connection: Upgrade Upgrade: websocket Host: example.com Origin...Socket.io的运行建立在HTTP服务器之上。 第三步,将Socket.io插入客户端网页。...请注意:emit方法可以取代Ajax请求on方法指定的函数,也等同于Ajax的函数。 第四步,在服务器端的app.js中加入以下代码。...在函数中,用emit方法客户端发送数据,触发客户端的news事件。然后,再用on方法指定服务器端anotherNews事件的函数。

1K10

中级前端面试题(附答案)

, 该回函数接受两个参数,分别是成功resolve和失败reject;另外resolve的参数除了正常值以外, 还可能是一个Promise对象的实例;reject的参数通常是一个Error...需要注意的是,立即resolve()的 Promise 对象,是在本轮“事件循环”(event loop)的结束执行,不是在下一轮“事件循环”的开始。...清除浮动的方式浮动的定义: 非IE浏览器下,容器不设高度且子元素浮动,容器高度不能被内容撑开。 此时,内容溢出到容器外面影响布局。这种现象被称为浮动(溢出)。...,若找不到继续下一步本地DNS服务器根域名服务器发送请求,根域名服务器返回一个所查询域的顶级域名服务器地址本地DNS服务器顶级域名服务器发送请求,接受请求服务器查询自己的缓存,如果有记录,就返回查询结果...IP 地址,首先会在浏览器的缓存中查找是否有该域名的缓存,如果不存在就将请求发送到本地的 DNS 服务器中,本地DNS服务器判断是否存在该域名的缓存,如果不存在,则根域名服务器发送一个请求,根域名服务器返回负责

1K10

node中常见的10个错误

错误 #4:期望函数以同步方式运行 异步程序的函数并不是 JavaScript和 Node.js 独有的,但它们是造成函数流行的原因。...任何一个需要在函数被触发后执行的东西,都要把它放在函数内。 错误 #5:用“exports”,不是“module.exports” Node.js 将每个文件视为一个孤立的小模块。...例如,如果你想保护一段含有很多异步活动的代码,而且这段代码包含在一个 try-catch 块内,结果是:它不一定会运行。...错误 #8:忽略了 Streaming(流) API 的优势 大家都说想建立一个小型代理服务器,它能响应从其它服务器获取内容的请求。...错误 #9:把 Console.log 用于调试目的 在 Node.js 中,“console.log” 允许你控制打印几乎所有东西。

1.8K60

node中常见的10个错误

错误 #4:期望函数以同步方式运行 异步程序的函数并不是 JavaScript和 Node.js 独有的,但它们是造成函数流行的原因。...任何一个需要在函数被触发后执行的东西,都要把它放在函数内。 错误 #5:用“exports”,不是“module.exports” Node.js 将每个文件视为一个孤立的小模块。...例如,如果你想保护一段含有很多异步活动的代码,而且这段代码包含在一个 try-catch 块内,结果是:它不一定会运行。...错误 #8:忽略了 Streaming(流) API 的优势 大家都说想建立一个小型代理服务器,它能响应从其它服务器获取内容的请求。...错误 #9:把 Console.log 用于调试目的 在 Node.js 中,“console.log” 允许你控制打印几乎所有东西。

1.4K30

分布式系统中的跨域请求问题

1 跨域请求 在构建分布式系统,将门户系统(负责前端页面展示的控制器)和获取数据的系统(从数据库获取资料)分开。在开发过程中,遇到跨域请求问题。 ?...通常为了减轻 web 服务器的负载,我们把js、css,img 等静态资源分离到另一台独立域名的服务器上,在 html 页面中再通过相应的标签从不同域名下加载静态资源,这种行为被浏览器允许。...实现方式 jsonp 只能使用 get 请求,前台请求,指定函数名,后台系统将数据封装成 js 代码,将数据放到参数里面: callBack(数据) 前台 javascript 里准备好对应的函数操作数据...示例如下: /* 8081 端口的服务器有一静态资源 test.json,现在需要从 8080 的服务器去获得并显示到页面上。...jsonp: "callbackFunction", //请求参数名 jsonpCallback: "callback", //函数名称

1.2K10

请求跨域的解决方案

://a.com/1.html中的js服务器http://b.com/2.php获取数据,如果用普通的ajax方式,会被浏览器认为是跨域不安全拦截,这个时候就需要使用jsonp了,相应的前后端代码都要做一些改动...callback=jsonp1339589075417这种形式,也就是jquery自动以某个值替换=?中的问号。这样的话,浏览器发现新来了一个script,就会src指定的url请求数据。...jQuery可以从一个脚本对服务器发出Ajax/HTTPD调用,$.getJSON()可以获取服务响应。 但是当网页的ajax调用存在于服务器不同的域名中,这种方法可能失败。...添加了一个参数(callback parameter),也就是说'callback=?'...,在这种情况下,jQuery会生成唯一的函数名,然后传送给服务器。 在服务器不是直接返回原始JSON,而是将这个参数的字符串放到函数定义中,比如"()"。

1.2K80

美团前端面试题整理_2023-02-28

(Referer 字段告诉服务器该网页是从哪个页面链接过来的) 使用 CSRF Token 进行验证,服务器向用户返回一个随机数 Token ,当网站再次发起请求,在请求参数中加入服务器端返回的 token...还有一个问题是一般不会只有一网站服务器,如果请求经过负载平衡转移到了其他的服务器,但是这个服务器的 session 中没有保留这个 token 的话,就没有办法验证了。...对 Cookie 进行双重验证,服务器在用户访问网站页面请求域名注入一个Cookie,内容为随机字符串,然后当用户再次服务器发送请求的时候,从 cookie 中取出这个字符串,添加到 URL 参数中...Nginx 使用异步事件驱动的方法来处理请求,是一款面向性能设计的 HTTP 服务器。...作用: 将域名解析为IP地址,客户端DNS服务器(DNS服务器有自己的IP地址)发送域名查询请求,DNS服务器告知客户机Web服务器的 IP 地址。

1K10

有哪些前端面试题是必须要掌握的_2023-02-27

递归查询指的是查询请求发出后,域名服务器代为向下一级域名服务器发出请求,最后向用户返回查询的最终结果。使用递归 查询,用户只需要发出一次查询请求。...一般我们本地 DNS 服务器发送请求的方式就是递归查询,因为我们只需要发出一次请求,然后本地 DNS 服务器返回给我 们最终的请求结果。...本地 DNS 服务器其他域名服务器请求的过程是迭代查询的过程,因为每一次域名服务器只返回单次 查询的结果,下一级的查询由本地 DNS 服务器自己进行。...,告诉用户这台设备发起请求 区域负载均衡设备选择一合适的缓存服务器来提供服务,将该缓存服务器的IP地址返回给全局负载均衡设备 全局负载均衡设备把服务器的IP地址返回给用户 用户该缓存服务器发起请求...地狱的根本问题就是: 嵌套函数存在耦合性,一旦有所改动,就会牵一发动全身 嵌套函数一多,就很难处理错误 当然,函数还存在着别的几个缺点,比如不能使用 try catch 捕获错误,不能直接 return

57520

Storm同步调用之DRPC模型探讨

最近新的黑名单项目需要在storm实时计算平台上提供对外部系统请求调用的同步响应(也就是让storm支持同步调用不是),Storm的编程模型是一个有无环图,也就决定了storm的spout接收到外部系统的请求后...storm常见设计方案   首先jetty,tomcat等启动服务,接收外部系统的请求,将请求得到的数据发往kafka,activeMQ等消息队列中,就立马响应给外部系统。   ...目前的需求 现在的项目是一个产品,要接入各大银行的系统中,所以通过要求对方提供一个接口来实现同步是不可能的。...Storm拓扑以一个函数参数的流作为输入,它每个函数调用发出一个输出流的结果。   分布式RPC(DRPC)的真正目的是使用storm实时并行计算极端功能。...从一个客户端的角度来看,一个分布式RPC调用就像是一个常规的RPC调用。 分布式RPC工作流程如下图所示: ?   客户端程序启动的DRPC服务器发送要执行的函数名称和该函数的参数。

90710

Node.js 十大常见的开发者错误

错误3:深层嵌套的函数 深层嵌套的函数通常被誉为“ 地狱”,它本身并不是什么问题,但是它会导致代码很快变得失控: function handleLogin(..., done) { db.User.get...任何要在函数执行完后才执行的代码,都需要在函数里调用。 错误5:给“exports” 赋值,不是“module.exports” Node.js 认为每个文件都是一个独立的模块。...如果“db.User.get” 的函数异步执行了,那么 try-catch 原来所在的作用域就很难捕获到函数里抛出的异常了。...错误8:忽略了流式 API 的优势 现在我们想创建一个简单的类代理 web 服务器,它能通过拉取其他 web 服务器的内容来响应和发起请求。...一些擅长于在一机器上处理多个应用程序,另一些擅长于日志管理。不管怎样,如果你想开始写一个程序,这些都是不错的选择。

1.2K20

面试了20+前端大厂,整理出的面试题

共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低专门设计的。它往往与其他通信机制,如信号量,配合使用,来实现进程间的同步和通信。...3、then方法返回一个新的Promise实例,并接收两个参数onResolved(fulfilled状态的);onRejected(rejected状态的,该参数可选)4、catch方法返回一个新的...需要注意的是,立即resolve()的 Promise 对象,是在本轮“事件循环”(event loop)的结束执行,不是在下一轮“事件循环”的开始。...在子与父的情况下 ,有两种方式,分别是函数与实例函数。函数,比如输入框父级组件返回输入内容,按钮父级组件传递点击事件等。...攻击过程如下:客户端发送请求到服务端,请求被中间⼈截获服务器客户端发送公钥中间⼈截获公钥,保留在⾃⼰⼿上。

80130

有哪些前端面试题是必须要掌握的

Node 的 Event Loop 分为 6 个阶段,它们按照顺序反复运行。每当进入某一个阶段的时候,都会从对应的队列中取出函数去执行。...(4)Poll(轮询阶段):当队列不为空执行,若中触发了相应的微任务,这里的微任务执行时机和其他地方有所不同,不会等到所有执行完毕后才执行,而是针对每一个执行完毕后,就执行相应微任务...当队列为空(没有或所有执行完毕):但如果存在有计时器(setTimeout、setInterval和setImmediate)没有执行,结束轮询阶段,进入 Check 阶段。...2、缓存判断:浏览器判断所请求的资源是否在缓存里,如果请求的资源在缓存里并且没有失效,那么就直接使用,否则服务器发起新的请求。...用户本地 DNS 服务器发起请求属于递归请求,本地 DNS 服务器各级域名服务器发起请求属于迭代请求

36020

Django之json、Ajax简介及实例介绍

同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求; 异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。...当输入用户名后,把光标移动到其他表单项上,浏览器会使用AJAX技术服务器发出请求服务器查询名为zhangSan的用户是否存在,最终服务器返回true表示名为lemontree7777777的用户已经存在了...整个过程中页面没有刷新,只是局部刷新了; 在请求发出后,浏览器不用等待服务器响应结果就可以进行其他操作; AJAX的优缺点 优点: AJAX使用Javascript技术服务器发送异步请求;...,服务器端返回的数据根据这个值解析后,传递给函数。...一般情况下,我们希望这个script标签能够动态的调用,不是像上面因为固定在html里面所以没等页面显示就执行了,很不灵活。

6.6K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券