-4

问题:detectLocationtimersset() 逻辑似乎不起作用。我知道子例程已被解雇,但我猜如果其他错误是多重的?

detectLocationtimersset() 的原因是有一些逻辑来确保不设置多个计时器。

我创建了第一个 if / else 以首先根据 datatime 设置计时器,然后我编写了第二个 if / else 来进行意义检查。

detectLocation() 已经过测试并且可以独立工作。

var detectLocationtimerset = 0;
var datatime = 1;

function detectLocationtimersset() {    
    // Setup timer to check for new data start
    // check and see if set 
    if (detectLocationtimerset = 0 ) {
        detectLocationtimerset = 1;
        if (datatime == null) {
            datatime = 9;
            milliseconds = (datatime * 60000)
            setInterval(function () {
                detectLocation();
                console.log("detectLocation() timer set");
            }, milliseconds);   
        } else {
                    detectLocationtimerset = 1;
            milliseconds = (datatime * 60000)
            setInterval(function () {
                detectLocation();
                console.log("detectLocation() timer set");
            }, milliseconds);   
        }   
    }
};
4

2 回答 2

4

我不知道问题是什么,但是

if (detectLocationtimerset = 0 )

应该是

if (detectLocationtimerset === 0)

在其他说明中,

  • 你的缩进应该是一致的
  • 您在运算符周围的间距应该是一致的
  • 在可能的情况下,您应该更喜欢身份而不是平等
  • 您应该将共享代码移出 if/else 块 - 将milliseconds分配和setInterval调用放在块之后if (datatime == null)
于 2012-12-27T22:18:41.033 回答
2

您的

if (detectLocationtimerset = 0 ) {

应该

if (detectLocationtimerset === 0 ) {
于 2012-12-27T22:19:12.210 回答