20,741
edits
m (→Implementation) |
|||
Line 56: | Line 56: | ||
}; | }; | ||
var TrackableAPI = func(api) { | var TrackableAPI = { | ||
new: func(api) {}, | |||
del: func() {}, | |||
var setlistener = TrackableAPI(api: | getCallback: func() {return me.invoke}, | ||
var settimer = TrackableAPI(api: | invoke: func () {}, | ||
}; | |||
var setlistener = TrackableAPI.new(api: setlistener).getCallback(); | |||
var settimer = TrackableAPI.new(api: settimer).getCallback(); | |||
var test = func() { | |||
## improper use of APIs: | ## improper use of APIs: | ||
var foo = func; | var foo = func; | ||
for (var i=0;i<=5;i++) { | for (var i=0;i<=5;i++) { | ||
# 5 listeners registered for the same property/callback: | # 5 listeners registered for the same property/callback: | ||
Line 70: | Line 78: | ||
# invoke foo again after 5 seconds | # invoke foo again after 5 seconds | ||
settimer(foo, 5); | settimer(foo, 5); | ||
} | } # for loop | ||
}; # of test | |||