如何在js中编写自定义回调函数

时间:2016-07-15 19:54:08

标签: javascript node.js

我想在收到如下读取文件的回调之后将消息设置为我的回调:

visibleCells

但是控制台没有记录我的回调消息!问题出在哪儿?这是正确的做法吗?

修改

此代码运行正常

2 个答案:

答案 0 :(得分:-3)

使用此代码:

exp.getServerHandler=function (request,response){
    if(request.url.startsWith("/static/")){
       //passing my custom callback function as an input param
       fileReadHandler(request,response,function callback(message){               
           if (window.console && window.console.log)
               window.console.log(message);
       });
    }
};
  1. 检查控制台对象,因为eq。仅在控制台窗口打开时才提供IE控制台对象
  2. 使用完整路径window.console

答案 1 :(得分:-4)

尝试将callback函数名称传递给fileReadHandler,如下所示:

exp.getServerHandler=function (request,response){

    if(request.url.startsWith("/static/")){
        //passing my custom callback function as an input param
        fileReadHandler(request,response,function(message){
            console.log(message);
        });
    }
};

function fileReadHandler(request,response,callback){
    fs.readFile(request.url.substr(1),
        function(err,data) {
            if(err){
                response.end("bad request");
                response.statusCode=400;
                //here i want to set message as my callback param
                callback("failed");
            }else{
                response.end(data);
                //here i want to set message as my callback param
                callback("successful");
            }
        }
    );
}