回调函数

Tornado中异步框架的使用

て烟熏妆下的殇ゞ 提交于 2019-11-30 19:16:18
tornado的同步框架与其他web框架相同都是处理先来的请求,如果先来的请求阻塞,那么后面的请求也会处理不了。一直处于等待过程中。但是请求一旦得到响应,那么: 请求发送过来后,将需要的本站资源直接返回给客户端 请求发送过来后,本站没有需要的资源,从其它站点获取过来,再返回给客户端 一、Tornado中的同步框架 1、本站资源直接返回 import tornado.web import time class LoginHandler(tornado.web.RequestHandler): def get(self): time.sleep(10) #第一个请求来后等10s,后面的请求无法处理,只有等这个请求结束后才能处理其他的请求 self.write('LoginHandler') def post(self): pass class IndexHandler(tornado.web.RequestHandler): def get(self): self.write('IndexHandler') def post(self): pass application=tornado.web.Application([ (r'/login/',LoginHandler), (r'/index/', IndexHandler), ],) if __name__ == '__main_

封装Ajax和跨域

余生颓废 提交于 2019-11-30 17:00:17
目录 引言 封装ajax 案例:使用自封装ajax 案例:动态加载瀑布流 跨域 引言 对于Ajax现在相信大家已经不会陌生了,无论是原生的XMLHttpRequest方式发送还是通过jQuery框架中提供的$.ajax方式。但是从实际工作角度来说并不是所有的公司都喜欢采用上面两种方式进行请求的发送。 其原因在于: (1)原生的方式过于繁琐,并且大量重复代码。 (2)jQuery的方式虽然方便,但必须引入jQuery框架, 而框架中不是所有的内容都能用到,这就造成了大量无用代码的堆积。占用资源 因此我们自行封装满足于我们需求的Ajax框架就势在必行,这节课我们就一起来封装一个属于我们自己的Ajax框架。 在此之前为了能更好的的理解今天的内容,让我们先一起复习一下前两种方式: (1)原生Ajax请求 (2)jQuery中的$.ajax()请求 1)原生ajax请求 var xhr = window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject(""); xhr.onreadystatechange = function(){ if(xhr.readyState == 4){ if(xhr.status == 200){ console.log(JSON.parse(xhr.responseText)); }else{

Node.js的特点

∥☆過路亽.° 提交于 2019-11-30 16:25:30
node.js的特点 node.js善于I/O,擅长任务调度,不善于计算。专注于实现高性能web服务器端的开发,让javescript运行在服务端的开发平台。node.js没有web容器。 异步I/O(非阻塞I/O) 异步I/O机制,因此在执行访问数据库的代码之后,将立即去执行其后面的代码,把数据库返回结果的处理代码放在回调函数中,每个调用之间无需等待之前的I/O调用结束,提高了程序的执行效率。 var fs=require('fs'); fs.readFile('/path',function(err,file){ console.log('读取文件完成') }); console.log('发起读取文件') 这里的“发起读取文件”是在“读取文件完成”之前输出的,同样,“读取文件完成”的执行也取决于读取文件的异步调用何时结束。 ###事件与回调函数(事件驱动) 在node.js中,一个时刻只能执行一个事件回调函数,但在执行一个事件回调函数的过程中,可以转而处理其他事情(比如又有新用户连接),然后返回继续执行原事件的回调函数,这种处理机制称为“事件环”机制。 与其他web后端编程语言相比,node除了异步和事件外,回调函数也是一大特色,回调函数也是最好的接受异步调用返回数据的方式。代码的编写顺序和执行顺序无关。 单线程 单线程的弱点: 1.无法利用多核CPU 2

node学习六之回调函数

情到浓时终转凉″ 提交于 2019-11-30 16:22:10
Node.js 异步编程的直接体现就是回调,可以处理大量的并发请求 1.没有回调函数场景(阻塞代码): 2.回调函数场景(非阻塞代码): 来源: CSDN 作者: AinUser 链接: https://blog.csdn.net/AinUser/article/details/88713486

Node.js系列基础学习-----回调函数,异步

戏子无情 提交于 2019-11-30 16:21:37
Node.js基础学习 Node.js回调函数 Node.js异步编程的直接体现就是回调,异步编程依托回调来实现,但不是异步。回调函数在完成任务后就会被调用,Node有很多的回调函数,其所有的API都支持回调。 Eg:可以一边读取文件,一边执行其它的命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回,这样在执行代码时就没有阻塞或等待文件I/O操作。大大的提高了node.js的性能,处理大量的并发请求。(简单的理解就是同时做两件或者多件事情,减少其等待的时间) 阻塞代码: 1:创建文本和js代码。如下: /*阻塞代码示例*/ var fs=require('fs'); //引入fs包,读取文件 var data=fs.readFileSync('ahui.txt'); console.log(data.toString()); console.log('程序结束'); 执行结果: 可以发现阻塞代码它是按照顺序执行的,等待文件读取完毕才执行打印操作。 非阻塞代码 创建文本和js,如下: /*非阻塞代码示例*/ var fs=require('fs'); //引入js包 fs.readFile('ahui.txt',function(error,data){ if (error) throw error; console.log(data.toString()); });

5、Node.js 回调函数

五迷三道 提交于 2019-11-30 16:21:25
内容:回调函数;阻塞/同步、非阻塞、和异步区别;阻塞和非阻塞代码实例 Node.js 回调函数 Node.js 异步编程的直接体现就是回调。 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。 例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。这样在执行代码时就没有阻塞或等待文件 I/O 操作。这就大大提高了 Node.js 的性能,可以处理大量的并发请求。 阻塞/同步:打一个电话一直到有人接为止 非阻塞:打一个电话没人接,每隔10分钟再打一次,知道有人接为止 异步:打一个电话没人接,转到语音邮箱留言(注册),然后等待对方回电(call back) #################################################################################### 阻塞代码实例 input.txt:love A var fs = require("fs" ); var data = fs.readFileSync('input.txt' ); console.log(data.toString()); console.log( "程序执行结束!"); 执行结果:

微信小程序 Node.js (基础三) 回调函数

荒凉一梦 提交于 2019-11-30 16:21:12
Node.js 回调函数 阻塞与非阻塞 Node.js 异步编程的直接体现就是回调。 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。 阻塞代码实例(同步函数) //阻塞是按顺序执行的 var fs = require ( "fs" ); var data = fs . readFileSync( 'input.txt' ); console . log ( data . toString()); console . log ( "程序执行结束!" ); 非阻塞实例(异步函数) //非阻塞是不需要按顺序的 var fs = require ( "fs" ) fs . readFileSync( 'ipnut.txt' ,function(err, data ){ if (err) return console . log (err) console . log ( data . toString()) }) console . log ( "程序执行结束!" ); 来源: CSDN 作者: xiaochun365 链接: https://blog.csdn.net/xiaochun365/article/details/74231436

Node.js 第四章 - 回调函数

老子叫甜甜 提交于 2019-11-30 16:20:59
一,Node.js异步编程,直接体现的就是回调。 1.1Node使用大量的回调函数。 1.2 Node所有的 API都支持回调函数。 1.3执行代码就没阻塞或等待文件I/O操作。 1.4 提高性能,可以处理大量的并发请求。 阻塞代码,具体操作实例,参照: http://www.runoob.com/nodejs/nodejs-callback.html 以下是自己练习例子。 二,例子 2.1不使用回调函数(阻塞) 2.2使用回调函数(非阻塞) PS: 因此,阻塞是按顺序执行的,而非阻塞是不需要按顺序的,所以如果需要处理回调函数的参数,我们就需要写在回调函数内。 来源: CSDN 作者: 如风似我 链接: https://blog.csdn.net/u014085502/article/details/85052211

node.js 回调函数

左心房为你撑大大i 提交于 2019-11-30 16:20:34
Node.js 回调函数 Node.js 异步编程的直接体现就是回调。 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。 例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。这样在执行代码时就没有阻塞或等待文件 I/O 操作。这就大大提高了 Node.js 的性能,可以处理大量的并发请求。 阻塞代码实例 创建一个文件 input.txt ,内容如下: 菜鸟教程官网地址:www.runoob.com 创建 main.js 文件, 代码如下: var fs = require("fs"); var data = fs.readFileSync('input.txt'); console.log(data.toString()); console.log("程序执行结束!"); 以上代码执行结果如下: $ node main.js 菜鸟教程官网地址:www.runoob.com 程序执行结束! 非阻塞代码实例 创建一个文件 input.txt ,内容如下: 菜鸟教程官网地址:www.runoob.com 创建 main.js 文件, 代码如下: var fs = require("fs"); fs.readFile(