使用承诺或任何其他合适的方式将函数中的variables传递给父范围
我如何将var form.parse()
的值从form.parse()
传递给response.write()
以便我可以输出它?
类似的问题的答案build议使用承诺,但是,如果这是做到这一点,我将不胜感激在如何申请承诺在这种情况下
var formidable = require("formidable"); function upload(response, request) { var form = new formidable.IncomingForm(); form.on('fileBegin', function(name, file, flower) { file.path = './uploads/' + file.name; var flowerImage = file.name ; }); form.parse(request, function(error, fields, files ) { }); response.writeHead(200, {"Content-Type": "text/html"}); response.write("image name is " + flowerImage); response.end(); }
你只需要在callback本身上返回响应
function upload(response, request) { var form = new formidable.IncomingForm(); form.on('fileBegin', function(name, file, flower) { file.path = './uploads/' + file.name; var flowerImage = file.name ; this.writeHead(200, {"Content-Type": "text/html"}); this.write("image name is " + flowerImage); this.end(); }.bind(response)); }
声明var flowerImage
接下来不是var form
编辑 :我的坏…花图像创build使用asynchronous调用…这已被多次回答。
请参阅如何从asynchronous调用返回响应?