Skip to content

AsyncParallelBailHook keeps executing even after one of the tapped functions has produced a defined value #130

Open
@nshimiye

Description

@nshimiye

Consider this example

const { AsyncParallelBailHook } = require("tapable");

const hook = new AsyncParallelBailHook();
hook.tapPromise('A', () => new Promise(res => setTimeout(() => res(undefined), 100)));
hook.tapPromise('B', () => new Promise(res => setTimeout(() => res('B'), 5000))); // <= last to resolve
hook.tapPromise('C', () => new Promise(res => setTimeout(() => res('C'), 500)));

hook.promise().then(console.log);

Expected (hook is expected to use value from the third tap)

C

Actual (hook uses value from second tap instead)

B

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions