Node.js NodeJS TypeError回调不是函数

Node.js NodeJS TypeError回调不是函数,node.js,callback,typeerror,Node.js,Callback,Typeerror,我有以下代码: function fun1(callback){ var result = "result of function 1"; callback(result) }; function fun2(callback){ var result = "result of function 2"; callback(result) }; fun1(log); // displays "result of function 1" fun2(log); // display

我有以下代码:

function fun1(callback){
  var result =  "result of function 1";
  callback(result)
};
function fun2(callback){
  var result =  "result of function 2";
  callback(result)
};

fun1(log); // displays "result of function 1"
fun2(log); // displays "result of function 2"
fun2(fun1(log)); // Type Error ...
其中log是简单的函数(即console.log(数据)…)
我想知道为什么fun2(fun1(log))没有像人们期望的那样显示“函数1的结果”。少了什么?非常感谢-Christian

fun2希望得到一个函数。 您给出的是func1的结果(未定义)。 意义

因此,不确定您希望在fun2中做什么,但您需要提供一个回调,而不是未定义的回调

你可以做:

function fun1(callback){
  var result =  "result of function 1";
  callback(result)
  return callback
};
function fun2(callback){
  var result =  "result of function 2";
  callback(result)
};

fun1(log); // displays "result of function 1"
fun2(log); // displays "result of function 2"
fun2(fun1(log));

感谢Sagie的快速回复。这是将函数链接在一起的标准方法吗?链接函数的方法有很多,例如返回函数、使用承诺等等。。。没有一种具体的标准方法。
function fun1(callback){
  var result =  "result of function 1";
  callback(result)
  return callback
};
function fun2(callback){
  var result =  "result of function 2";
  callback(result)
};

fun1(log); // displays "result of function 1"
fun2(log); // displays "result of function 2"
fun2(fun1(log));