我不明白为什么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 :(我在做什么错?它是响应式编程的特定内容吗?
答案 0 :(得分:0)
您的示例中有两个问题:
if (firstCondition.pinLastValue())
以获取布尔信号的值。第二,我想您的函数没有更新,您需要这样的东西:
const Time = require('Time'); const interval = Time.setInterval(func(), 500);
答案 1 :(得分:0)
Spark AR Studio使用反应式编程,这是一个使用异步数据流的声明性编程模型。本指南将介绍Spark AR Studio中反应式编程的优点和用法。
https://sparkar.facebook.com/ar-studio/learn/documentation/scripting/reactive/
答案 2 :(得分:0)
您需要在此处使用其他思维方式:
Celery takes over the task -
- calls first 10 users
- sleeps for 1 min
- calls next 10 users
- sleeps for 1 min
... and so on till a user performs a certain action.
这是一个scalarSignal类,而不是JS Number!