[英]Spark AR Why if-else if construction doesn't work?
我不明白为什么 if-else 构造不起作用。
const Diagnostics = require('Diagnostics');
const Reactive = require('Reactive');
var num = 5;
var firstCondition= false;
var secondCondition = false;
function func(){
firstCondition = Reactive.ge(num, 10);
secondCondition = Reactive.lt(num, 10);
if(firstCondition){ //false
num = 0;
} else if(secondCondition){ //true
num = 1;
}
}
func();
Diagnostics.watch("num - ", num);
Diagnostics.watch("firstCondition ", firstCondition);
Diagnostics.watch("secondCondition ", secondCondition);
num 显示 0:( 我做错了什么?它是响应式编程特有的吗?
您的示例中有两个问题:
if (firstCondition.pinLastValue())
以获取布尔信号的值。其次,我猜你的功能没有更新,你需要这样的东西:
const Time = require('Time'); const interval = Time.setInterval(func(), 500);
你需要在这里使用不同的心态:
const conditionedSignal = inputSignal.ge(10).ifThenElse(0, 1);
这是一个 scalarSignal 类,而不是一个 JS Number!
Spark AR Studio 使用反应式编程,这是一种使用异步数据流的声明式编程模型。 本指南将介绍 Spark AR Studio 中响应式编程的好处和使用。
https://sparkar.facebook.com/ar-studio/learn/documentation/scripting/reactive/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.