Opened 8 years ago

Last modified 8 years ago

#15701 closed defect

[patch] [cla] [regression] DeferredList always Resolves even when a child Deferred Rejects — at Version 4

Reported by: kbenjamin Owned by: Mark Wubben
Priority: high Milestone: tbd
Component: Core Version: 1.8.0b1
Keywords: Cc:
Blocked By: Blocking:

Description (last modified by bill)

As the title says, DeferredList never rejects.

As a result, errors are masked completely unless you set the flag fireOnOneErrback.

The default functionality should match Deferred in that a single error causes the entire DeferredList? to error unless the ConsumeErrors flag is set to true.

This problem appears to exist at least since 1.7.0 through 1.8b1. I haven't checked for earlier cases.

One word of caution about applying the patch: it is possible that the current code is masking existing errors in user, and possibly dijit/dojox code. Fixing this may reveal other errors.

Note that the attached test case is set up to run in a parent directory to dojo, it does not use DOH but simply logs to the browser debug console.

Change History (6)

Changed 8 years ago by kbenjamin

Attachment: DeferredList.patch added

diff from trunk

Changed 8 years ago by kbenjamin

Attachment: test_DeferredList.html added

Test case - runs from parent directory of dojo and logs to browser debug console.

comment:1 Changed 8 years ago by Kitson Kelly

Ken, I would supply a patch to the dojo/tests/DeferredList.js with a test scenario to cover your change.

comment:2 Changed 8 years ago by Kitson Kelly

Priority: undecidedhigh
Summary: [patch] [cla] DeferredList always Resolves even when a child Deferred Rejects[patch] [cla] [regression] DeferredList always Resolves even when a child Deferred Rejects

comment:3 Changed 8 years ago by bill

Is this really a regression? Which release did it work correctly in?

comment:4 Changed 8 years ago by bill

Description: modified (diff)
Owner: set to Mark Wubben
Status: newassigned

Not sure what we want to do with this one. AFAICT this isn't a regression, and DeferredList is deprecated, so it doesn't seem like a big deal. OTOH it's a simple fix.

Note: See TracTickets for help on using tickets.