NodeJS TypeError回调不是函数

时间:2016-11-14 12:37:04

标签: 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); // displays "result of function 2"
fun2(fun1(log)); // Type Error ...

其中log是简单函数(即console.log(data)...) 我想知道为什么fun2(fun1(log))不会像人们期望的那样显示“函数1的结果”。缺什么?非常感谢 - 基督徒

1 个答案:

答案 0 :(得分:1)

fun2期望得到一个功能。 你给的是func1的结果('未定义')。 意

var something = fun1(log);
fun2(something);

所以不确定你期望在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));