在response.write + nodejs中传递variables以显示进度值

我试图上传文件使用ckeditor和上传文件到S3,我成function够上传文件到S3并取回url,但是想要显示在浏览器iframe用户的进展。

使用s3上传器,我可以在发射器的“进度”

var uploader = client.uploadFile(params); uploader.on('progress', function () { var percent = ((parseInt(uploader.progressAmount) * 100) / parseInt(uploader.progressTotal)).toFixed(2); return callback(null,{type : 'progress', percent: percent, url : null}); }); 

s3上传

 s3uploads(fileUrl, function (err, uploadResult) { if (err) { res.send("error"); } if (uploadResult.type === 'progress') { html = "<p>Please wait its uploading to server </p> <p>" + uploadResult.percent + "</p>"; console.log(html); res.write(html); } else { fileUrl = uploadResult.url; res.write("<script type='text/javascript'>\ (function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();\ window.parent.CKEDITOR.tools.callFunction('" + CKEcallback + "','" + fileUrl + "', '" + msg + "');\ </script>"); res.end(); } }); 

response.write只显示第一个值,当我尝试传递variablesuploadResult.percent时,它忽略了response.write中的值,但它显示了当我做console.log(html)

这个答案给了我更多的清晰我想要做的。 https://stackoverflow.com/a/45902781/1391499