The compass question

my code:
viewer.camera.flyTo({
destination: Cesium.Cartesian3.fromDegrees(121.7502402, 25.1534888, 6613.62),
orientation: {
heading: Cesium.Math.toRadians(138.61),
pitch: Cesium.Math.toRadians(-85.15),
roll: Cesium.Math.toRadians(181.13),
},
});

and the result:

The compass is in the wrong direction!

Then i chenge pitch to -88 or the number less than -88

The compass is correct.

How to fix it?