如何从setInterval javascript处理范围?

时间:2015-12-10 17:34:32

标签: javascript requirejs closures

define(['services/tempService'], function (TempService) {

"use strict";

window.TempClass = {
setIntervalConst : 0,
startTimer: function(){
    var that = this;
    this.setIntervalConst = setInterval(function () {
        that.checkTime();
    }, 1000);
},

checkTime: function() {
    new TempService().getData();
}
};
  return window.TempClass;
});

tempService.js

define([], function() {

"use strict";

var TempService = function(){

 return{
   getData: function(){
     Service.getData(URL);
  }
};       
};
 return TempService;
});

我正在尝试从startTimer函数访问checkTime函数,但它正在抛出" TempService不是函数。"错误 在这种情况下如何处理范围?

1 个答案:

答案 0 :(得分:-1)

你不需要打电话     new TempService().getData() 只是打电话     TempService.getData() 因为您将对象作为参数传递,因此您应该已经有一个实例。