Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 在NodeGit中返回空头引用_Windows_Node.js_Nodegit - Fatal编程技术网

Windows 在NodeGit中返回空头引用

Windows 在NodeGit中返回空头引用,windows,node.js,nodegit,Windows,Node.js,Nodegit,正在尝试使用NodeGit访问HEAD引用。我是nodejs的新手,所以这可能只是因为我错过了一些东西。下面的代码查找头,但它总是返回{}。不知道我做错了什么 代码通过调用getHead(res)在该文件之外启动 编辑:示例代码中的小错误NodeGit当前许多类的大多数值都是在函数而不是属性中返回的。但是当前注销库中返回的大多数值将产生您刚才看到的结果 现在,您的代码实际上正在工作。让我们重新格式化一下,去掉上面提到的反模式 这应该会给你一些你想要的输出。查看更多有关如何处理返回的参考的想法,这

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

代码通过调用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()
            });
        });
    }               
};