gpt4 book ai didi

javascript - Node.js 数组检查失败即使返回 false 也会处理条件

转载 作者:太空宇宙 更新时间:2023-11-04 03:08:57 25 4
gpt4 key购买 nike

我在node.js中有一个缓冲区,我正在使用正则表达式检查mime类型。
正则表达式中有一个捕获组,如果成功,它必须在 exec 返回的数组中的索引 1 处返回该捕获组。

我正在使用

if(mime.exec(dt)[1]){
tip.push(mime.exec(dt)[1]);
}

这个控件我也试过了

if(1 in mime.exec)

还有

mime.exec.hasOwnProperty(1)

但无论如何,条件都会被处理并给出回溯

TypeError: Cannot  read property '1' of null

我可以使用什么样的机制来解决这个问题?

更新----

var mime=/^内容类型:(.+\S)/igm;

更新----

var fs = require("fs"),
mime = /^content-type: (.+\S)/igm,
tip = [];
require("http").createServer(function(req, res) {
var data = "";
console.log("working...");
console.log(req.method);
if (req.method.toUpperCase() == "POST") {

req.once("data", function() {
fs.writeFileSync("dene.txt", "");
});
req.on("data", function(dt) {
fs.appendFileSync("dene.txt", dt.toString("utf8"));
if (mime.exec(dt)[1]) {
tip.push(mime.exec(dt)[1]);
} else {
return false;
}

});

req.on("end", function() {
console.log(((fs.statSync("dene.txt").size) / 1024).toFixed(2), "kb");
console.log(tip);

});
}
res.writeHead(200, {
"content-type": "text/html"
});
res.end(require("fs").readFileSync(require("path").resolve(__dirname, "static_files/post.html")));
}).listen(3000)

最佳答案

如果没有更多上下文(尤其是 mime 的值是如何分配的),很难确切地说出发生了什么,但我们可以肯定地说:在代码执行 mime.exec.hasOwnProperty(1) 时,mime.execnull。因此,启动调试器并观察 mime 的值,看看发生了什么。

关于javascript - Node.js 数组检查失败即使返回 false 也会处理条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30250428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com