WriteFile 而不会阻塞响应?"/>
在 GET 请求中表达 WriteFile 而不会阻塞响应?
我有一个请求需要在应用程序初始化时发出,其中部分 JSON 响应被解析为 JS 并且必须写入文件 - 响应的其余部分也需要由前端接收。目前我有这样的设置:
function getAds(req, res) {
console.log('GET Advertisements');
let url = '';
request(url, (err, response, body) => {
let advertisements = JSON.parse(body);
let script = advertisements.header;
fs.writeFile('client/ads/dfpAds.js', script, function(err) {
if (err) {
console.error(err);
}
});
res.send(advertisements);
});
}
这会成功写入 JavaScript 文件,但它不会将响应发送到我的前端 并且 还会阻止我在其他控制器中发出的所有其他 HTTP 请求。
可以这样做吗?我是否需要将处理 WriteFile 的请求与将发送到前端的另一个请求分开?
我已经尝试了多种组合,但无论如何我都无法让 WriteFile 不阻止所有其他 HTTP 请求。非常感谢任何帮助。
回答如下:添加选项参数
{flag: 'w'}
对我有用:
fs.writeFile('client/ads/dfpAds.js', script, {flag: 'w'}, function(err) {
if (err) {
console.error(err);
}
});
更多推荐
在 GET 请求中表达 WriteFile 而不会阻塞响应?
发布评论