九、NODE.JS实现回调保存示例

var fs = require("fs");
 
app.post("/track", function (req, res) {
 
    var downloadFile = function (response, body, path) {
        if (body.status == 2||body.status == 6)
        {
            var file = syncRequest("GET", body.url);
            fs.writeFileSync(path, file.getBody());
        }
 
        response.write("{\"error\":0}");
        response.end();
    }
 
    var readbody = function (request, response, path) {
        var content = "";
        request.on("data", function (data) {
            content += data;
        });
        request.on("end", function () {
            var body = JSON.parse(content);
            downloadFile (response, body, path);
        });
    }
 
    if (req.body.hasOwnProperty("status")) {
        downloadFile (res, req.body, pathForSave);
    } else {
        readbody(req, res, pathForSave)
    }
});