如何向JavaScript Object变量添加侦听器?

时间:2014-04-12 23:01:06

标签: javascript prototypejs

我有this code生成的对象,但我只能在其obj。 ready 属性为== true时使用它。 我只能使用纯JavaScript或Prototypejs。 它脚本作为源插入(< script src = ...)。

有没有办法检测对象何时可以使用? 我试图将观察者放在dom上:加载,但它没有用。

我用

PagSeguroDirectPayment.setSessionId('someTextHere');
PagSeguroDirectPayment.getSenderHash(); 

第二行不起作用,因为该对象尚未准备就绪。

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

如果您没有事件基础设施,那么唯一的选择是进行轮询:

function whenReady(obj, callback) {
  var iid = setInterval(function() {
    if(obj.ready) {
      callback();
      clearInterval(iid);
    }
  }, 20);
}

并将其用作:

PagSeguroDirectPayment.setSessionId('someTextHere');
whenReady(PagSeguroDirectPayment, function() {
  PagSeguroDirectPayment.getSenderHash(); 
});