CustomFunction<sync>
类型参数
-
sync extends "sync" | "async"
类型声明
-
- (args: Value[]): PromiseOr<Value, sync>
-
实现自定义 Sass 函数的回调。这可以传递给 functions。
const result = sass.compile('style.scss', {
functions: {
"sum($arg1, $arg2)": (args) => {
const arg1 = args[0].assertNumber('arg1');
const value1 = arg1.value;
const value2 = args[1].assertNumber('arg2')
.convertValueToMatch(arg1, 'arg2', 'arg1');
return new sass.SassNumber(value1 + value2).coerceToMatch(arg1);
}
}
});抛出
any - 此函数可能会抛出错误,Sass 编译器会将其视为函数调用失败。如果异常对象具有
message
属性,则将其用作包装异常的消息;否则,将使用异常对象的toString()
。这意味着自定义函数可以安全地抛出纯字符串。参数
-
args: Value[]
函数调用者传递的参数数组。如果函数采用任意参数,则最后一个元素将是 SassArgumentList。
返回 PromiseOr<Value, sync>
函数的结果。这可能以
Promise
的形式存在,但如果是这样,则该函数只能传递给 compileAsync 和 compileStringAsync,而不是 compile 或 compileString。 -
CustomFunction<'sync'>
必须同步返回,但作为回报,它除了可以传递给 compile 和 compileString 之外,还可以传递给 compileAsync 和 compileStringAsync。CustomFunction<'async'>
可以同步或异步返回,但它只能与 compileAsync 和 compileStringAsync 一起使用。