Windows 在NodeGit中返回空头引用
正在尝试使用NodeGit访问HEAD引用。我是nodejs的新手,所以这可能只是因为我错过了一些东西。下面的代码查找头,但它总是返回Windows 在NodeGit中返回空头引用,windows,node.js,nodegit,Windows,Node.js,Nodegit,正在尝试使用NodeGit访问HEAD引用。我是nodejs的新手,所以这可能只是因为我错过了一些东西。下面的代码查找头,但它总是返回{}。不知道我做错了什么 代码通过调用getHead(res)在该文件之外启动 编辑:示例代码中的小错误NodeGit当前许多类的大多数值都是在函数而不是属性中返回的。但是当前注销库中返回的大多数值将产生您刚才看到的结果 现在,您的代码实际上正在工作。让我们重新格式化一下,去掉上面提到的反模式 这应该会给你一些你想要的输出。查看更多有关如何处理返回的参考的想法,这
{}
。不知道我做错了什么
代码通过调用getHead(res)
在该文件之外启动
编辑:示例代码中的小错误NodeGit当前许多类的大多数值都是在函数而不是属性中返回的。但是当前注销库中返回的大多数值将产生您刚才看到的结果 现在,您的代码实际上正在工作。让我们重新格式化一下,去掉上面提到的反模式
这应该会给你一些你想要的输出。查看更多有关如何处理返回的
参考的想法,这些想法有些不相关,但您使用的是一个承诺。@BenFortune感谢指针,我需要它:)我将在它进入工作状态后立即进行清理。效果非常好!我不知道它是作为我需要调用的函数返回的。另外,是我写了这个漂亮的反模式,@benfortune建议我纠正它:)谢谢你的快速回复!
var NodeGit = require("nodegit");
var pathToRepo = require("path").resolve("C:\\Users\\Betsegaw\\Desktop\\windowwalker");
function _getHead() {
var head = new Promise(
function (resolve, reject){
NodeGit.Repository.open(pathToRepo).then(function (repo) {
return repo.head();
}).then(function (reference) {
console.log("Found head " + JSON.stringify(reference));
resolve(reference);
});
});
return head;
}
module.exports = {
getHEAD: function (res) {
_getHead().then(function(head) {
console.log(head);
res.send(head);
});
}
};
var NodeGit = require("nodegit");
var pathToRepo = require("path").resolve("C:\\Users\\Betsegaw\\Desktop\\windowwalker");
module.exports = {
getHEAD: function (res) {
NodeGit.Repository.open(pathToRepo).then(function (repo) {
return repo.head();
}).then(function (reference) {
res.send({
name: reference.name(),
target: reference.target()
});
});
}
};