ReferenceError: value is not defined
ReferenceError: value is not defined
我是 Node.js 的新手,我遇到了一个函数问题。如果我把他放在同一个文件中,这个功能就可以正常工作。但是如果我从另一个文件调用它,它就不起作用。当我使用调试器时,我看到我可以调用函数但是当我使用参数时,它一直说 ReferenceError: value is not defined.
documentDBConfig.getById = function (feedId) {
return new Promise((resolve, reject) => {
client.queryDocuments(
feedCollectionUrl,
'SELECT * FROM feeds r where r.id =' + feedId.toString()
).toArray((err, results) => {
if (err) reject(err);
else {
if (typeof results[0] !== 'undefined' && results[0] !== null) {
documentDBConfig.feedsArray = results;
}
console.log();
resolve(results);
}
});
});
};
module.exports = documentDBConfig;
正因为它一直这么说,我也使用了同一对象的 属性 documentDBConfig.feedsId
。但它仍然说 ReferenceError: value is not defined
。在调试器中,它会看到值并毫无问题地分配给 documentDBConfig.feedsId
但不会传递给另一个文件。如果没有这个值,这个功能就可以正常工作。我该如何解决?
documentDBConfig.feedsId = req.params.id;
console.log(documentDBConfig.feedsId);
documentDBConfig.getById(documentDBConfig.feedsId)
.then(() => res.json(documentDBConfig.feedsArray));
编辑:我发现问题是由查询引起的 'SELECT * FROM feeds r where r.id =' + feedId.toString()
如果我将它写成硬编码例如 'SELECT * FROM rss r where r.id = "5"'
它工作正常。我知道 documentdb 只接受 id 值的字符串,因此我使用了 toString() 方法。还有其他解决方案吗?
我已经通过更改查询解决了问题。
'SELECT * FROM rss r where r.id =' + '"' + documentDBConfig.feedsId + '"'
现在可以正常使用了。
我是 Node.js 的新手,我遇到了一个函数问题。如果我把他放在同一个文件中,这个功能就可以正常工作。但是如果我从另一个文件调用它,它就不起作用。当我使用调试器时,我看到我可以调用函数但是当我使用参数时,它一直说 ReferenceError: value is not defined.
documentDBConfig.getById = function (feedId) {
return new Promise((resolve, reject) => {
client.queryDocuments(
feedCollectionUrl,
'SELECT * FROM feeds r where r.id =' + feedId.toString()
).toArray((err, results) => {
if (err) reject(err);
else {
if (typeof results[0] !== 'undefined' && results[0] !== null) {
documentDBConfig.feedsArray = results;
}
console.log();
resolve(results);
}
});
});
};
module.exports = documentDBConfig;
正因为它一直这么说,我也使用了同一对象的 属性 documentDBConfig.feedsId
。但它仍然说 ReferenceError: value is not defined
。在调试器中,它会看到值并毫无问题地分配给 documentDBConfig.feedsId
但不会传递给另一个文件。如果没有这个值,这个功能就可以正常工作。我该如何解决?
documentDBConfig.feedsId = req.params.id;
console.log(documentDBConfig.feedsId);
documentDBConfig.getById(documentDBConfig.feedsId)
.then(() => res.json(documentDBConfig.feedsArray));
编辑:我发现问题是由查询引起的 'SELECT * FROM feeds r where r.id =' + feedId.toString()
如果我将它写成硬编码例如 'SELECT * FROM rss r where r.id = "5"'
它工作正常。我知道 documentdb 只接受 id 值的字符串,因此我使用了 toString() 方法。还有其他解决方案吗?
我已经通过更改查询解决了问题。
'SELECT * FROM rss r where r.id =' + '"' + documentDBConfig.feedsId + '"'
现在可以正常使用了。