I spent a good two hours tracking down why I was getting two dataset ontimeouts when I finally figured out that the event was overloaded. The ontimeout event can be sent when setting the timeout attribute (which sends a number) and also when the call times out (which sends the dataset).

Here's a simple example demonstrating the problem:

<canvas proxied="false" debug="true">

    <dataset name="mydset" src="http://foobar.timeout";
             oninit="this.setAttribute('timeout', 1000);
                     this.doRequest()"/>

    <handler name="ontimeout" args="ds" reference="mydset">

        // Be careful! ds is the dataset whose request timed out, but
        // can also be a number when setting the timeout attribute.

        Debug.write('mydset got timeout:', ds);

    </handler>

</canvas>

pablo




Reply via email to