Node.js функция
В JavaScript функция в качестве параметра другой функции принимает. Мы можем определить функцию, а затем перейти к быть определены непосредственно в передаточной функции место.
Node.js использовать функцию, аналогичную функции Javascript, например, вы можете сделать это:
function say(word) { console.log(word); } function execute(someFunction, value) { someFunction(value); } execute(say, "Hello");
Приведенный выше код, мы говорим, что функция в качестве первого аргумента выполнять функции были переданы. Это возвращение не возвращаемое значение, скажем, но сказать, себя!
Таким образом, говорят, становится выполнение локальных переменных SomeFunction, выполнить с помощью вызова SomeFunction () (в виде скобок), чтобы сказать, использование функции.
Конечно, так как говорят, есть переменная, выполнение может передать такую переменную при вызове SomeFunction.
функция Anonymous
Мы можем поставить функцию, переданную в качестве аргумента. Но мы не должны об этом "впервые определены, а затем передать," круг, мы можем определить другую функцию в скобках и передать эту функцию:
function execute(someFunction, value) { someFunction(value); } execute(function(word){ console.log(word) }, "Hello");
Мы принимаем первый аргумент в выполнение непосредственно определяет, где мы готовы передать для выполнения функции.
Таким образом, мы не даже имя для этой функции, поэтому она называется анонимной функцией.
Функция передачи, как получить работу HTTP-сервера
С этим знанием, мы смотрим на наш простой, но не простой сервер HTTP:
var http = require("http"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); response.end(); }).listen(8888);
Теперь он выглядит намного должно быть ясно: мы передаем анонимную функцию к функции createServer.
Такой код может также достичь той же цели:
var http = require("http"); function onRequest(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); response.end(); } http.createServer(onRequest).listen(8888);