我正在为Atom文本编辑器构建提供程序,该编辑器是基于build
包的组件。此程序包允许您运行一些测试以检查提供程序是否有资格运行,分别返回.as-console-wrapper {
top: 0;
height: 100% !important;
}
或true
。
我正在使用glob
来检查项目文件夹中是否存在某种文件类型,以确定是否激活构建提供程序。例如,项目文件夹应包含LESS文件,以便激活false
的构建提供程序。
示例:
lessc
我想知道是否可以异步使用isEligible() {
const paths = glob.sync("**/*.less");
if (paths.length > 0) {
// one or more LESS files found
return true;
}
// no LESS files found
return false;
}
,特别是如何从glob
返回状态。以下不工作:
isEligible()
答案 0 :(得分:0)
由于函数异步执行,return语句将无效,而您需要做的就是使用回调即:
isEligible(callback) {
glob("**/*.less", function (err, files) {
if (err) {
return false;
}
callback(true);
})
}
<强>用法强>
//call isEligible
isEligible(function(result){
//do something with result
});
答案 1 :(得分:0)
以下不起作用
如果isEligible
的调用者(即build
包)不支持异步,那么你必须使你的函数同步,没有办法解决它。您可以提交功能请求,以提供对isEligible
的回调或接受承诺作为返回值。