我有以下代码:
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的结果”。缺什么?非常感谢 - 基督徒
答案 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));