Node.js函数服务器
在JS语言中,一个函数能够做为另外一个函数的参数。能够先定义在传递,也能够直接使用匿名函数进行传递。函数
Node.js中函数的使用与JS相似,基本差很少。ui
下面写两个例子。code
先定义函数,在进行传递it
// 定义函数say function say(val){ console.log(val) } // 咱们将say函数做为execute第一个参数进行传递,这样以来,say函数就变成了execute中的本地变量someFunction // exectue能够经过调用someFunction()来使用say函数,say函数有一个变量,在调用的时候咱们能够传递一个变量。 function execute(someFunction, val) { someFunction(val) } execute(say,'思否')
这个例子就是先定义函数,而后将定义的函数做为参数给另外一个函数使用。io
还有一种就是直接使用匿名函数console
function execute(somefunction, val) { somefunction(val) } execute(function(val){console.log(val)}, '思否')
这种方式就是直接使用匿名函数进行传递,咱们在execute接收第一个参数的地方直接定义了咱们准备传参的函数。function
两种方式均可以,相比较先定义在传递,匿名函数写起来更简洁,若是有一些不须要重复调用的场景,能够使用这种方式。匿名函数
了解函数传递之后,咱们在来看函数传递如何让HTTP服务器工做的。require
// 匿名函数传递 const http = require('http') http.createServer((request , response) => { response.writeHead(200, {'Content-Type': 'text/plain'}) response.write('Hello World') response.end() }).listen(8888)
http.createServer方法中第一个参数咱们直接以匿名函数的方式直接书写。
const http = require('http') // 先定义在传递 function onRequest(request, response) { response.writeHead(200,{'Content-Type': 'text/plain'}) response.write('Hello sifou.com') response.end() } http.createServer(onRequest).listen(8888)
这段代码咱们先定义函数onRequest,而后在进行传递。两种方法均可以