Одним из важных моментов, на которые намечено, но не прямо адресовано, является разница между «точностью» и «шкалой» и тем, как они используются в двух утверждениях. «Точность» - это общее число значащих цифр в числе. «scale» - это число цифр справа от десятичной точки.
Конструктор MathContext допускает только точность и RoundingMode в качестве аргументов, поэтому масштаб никогда не указывается в первом утверждении.
setScale()
, очевидно, принимает масштаб как аргумент, а также RoundingMode, однако точность не указана во втором утверждении.
Если вы переместите десятичную точку на одно место вправо, разница станет clear:
// 1.
new BigDecimal("35.3456").round(new MathContext(4, RoundingMode.HALF_UP));
//result = 35.35
// 2.
new BigDecimal("35.3456").setScale(4, RoundingMode.HALF_UP);
// result = 35.3456
Ваша проблема не связана с VueJS / ThreeJs (снова ^^), вы должны научиться использовать this
внутри обратного вызова, вот исправление E6:
texture.load( require( "./clouds.png" ), t => this.onSuccess(t), e => this.onProgress(e), e => this.onError(e) )
https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions