Empty Head Reference 在 NodeGit 中返回

Empty Head Reference Getting returned in NodeGit

正在尝试使用 NodeGit 访问 HEAD 引用。我是 nodejs 的新手,所以这可能只是因为我错过了一些东西。下面的代码找到了头部,但它总是 returns {}。不确定我做错了什么。

代码通过调用 getHead(res).

在该文件外开始
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);
        });
    }               
};

编辑:示例代码中的小错字

NodeGit 目前有很多 类 的大部分值都在函数而不是属性中返回。 We're trying to change that 但目前注销库中返回的大多数值将产生您刚刚看到的结果。

话虽如此,您的代码确实可以正常工作。让我们重新格式化一下,摆脱 指出的反模式。

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()
            });
        });
    }               
};

这应该会为您提供一些您正在寻找的输出。查看 Reference 了解更多关于您可以使用返回的 reference

做什么的想法