Added a special case in motorOnForRotation() to avoid hanging blocks if power is 0

This commit is contained in:
Kevin Andersen 2019-04-12 13:56:29 -04:00
parent 8ece9757aa
commit a98f3af2e1

View file

@ -1695,6 +1695,8 @@ class Scratch3BoostBlocks {
const promises = motors.map(portID => {
const motor = this._peripheral.motor(portID);
if (motor) {
// to avoid a hanging block if power is 0, return an immediately resolving promise.
if (motor.power === 0) return new Promise(resolve => resolve());
return new Promise(resolve => {
motor.turnOnForDegrees(degrees, sign);
motor.pendingPromiseFunction = resolve;