我正在围绕SVN库编写包装函数,以更好地理解Javascript。这是我的代码:
export const getLatestTag = (svnURL) => {
svnUltimate.util.getLatestTag(svnURL, (err, latestTag) => {
if (!err) {
return latestTag;
}
return err;
});
};
我在使用Mocha进行测试时遇到了麻烦,因此我尝试通过一些简单的控制台日志手动测试它,如下所示:
getLatestTag('URL:8080/svnroot/PERF_POC/Test_Project/trunk', (err, data) => {
if (!err) {
console.log('success');
console.log(data);
} else {
console.log('error');
console.error(err);
}
});
执行它时,我没有收到任何错误-我知道代码在工作,因为如果将console.log放在服务中,它将正确地返回数据。
但是,直接通过我的测试文件测试功能时,我没有得到任何返回的信息。 发生什么情况我可能无法正确理解?
谢谢!
编辑:通过更新getLatestTag服务使其工作:
export const getLatestTag = svnURL => new Promise((resolve, reject) => {
svnUltimate.util.getLatestTag(svnURL, (err, data) => {
if (err != null) {
reject(err);
} else {
resolve(data);
}
});
});