javascript - nodejs - node js async await
JavaScript FAB framework en Node.js (2)
Es JavaScript simple, es un patrón de encadenamiento de funciones .
La primera línea, ( fab = require("fab") )
incluye la función fab
y le devuelve una referencia.
Todos los paréntesis subsiguientes son llamadas de función, cada invocación de función devuelve probablemente la misma función una y otra vez.
El patrón probablemente se parece a este ejemplo simplificado:
var foo = function (arg) {
// detect what the argument is
if (typeof arg == ''function'') {
// do something with arg
console.log(''function: ''+arg());
} else if (arg instanceof RegExp) {
// arg is a RegExp...
console.log(''A RegExp: ''+arg);
} else if (typeof arg == "string") {
// arg is a string
console.log(''A string: ''+arg);
}
return foo; // return a reference to itself
};
(foo)
(function() { return "Foo "; })
(/bar/)
(" baz!");
Salidas:
function: Foo A RegExp: /bar/ A string: baz!
He visto una diapositiva que presenta Fab , un framework node.js.
¿Es este JavaScript?
¿Podría alguien explicar lo que está pasando en ese código?
Estoy todo perdido.
Eso es difícil de seguir; Realmente no parece Javascript en absoluto ...
De todos modos, FAB aprovecha el retorno de un puntero a la función que fue llamada. Por ejemplo:
function doSomething(str){
alert(str);
return arguments.callee;
}
// Alerts ''hi'' and then ''there''
doSomething(''hi'')(''there'');
Por supuesto, puede implementar condiciones adicionales, como contar el número de argumentos o verificar el tipo de argumentos pasados. Por ejemplo:
function doSomething(){
if(arguments.length == 1){
alert(arguments[0])
}
else if(arguments.length == 2){
alert(arguments[0] + arguments[1]);
}
return arguments.callee;
}
doSomething
("Hi, 3 + 4 is:")
(3, 4);
El último ejemplo alerta:
> Hi, 3 + 4 is:
> 7