Skip to content

(RN77-NA) Bug(iOS): Push and immediate pop promise rejected #8022

Open
@gosha212

Description

@gosha212

What happened?

  push = async () => {
    return Navigation.push(this.props.componentId, {
      component: {
        id: 'ChildId',
        name: Screens.Pushed,
      },
    })
      .then((pushId) => new Promise<string>((resolve) => setTimeout(() => resolve(pushId), 100)))
      .then((pushId) => {
        this.setState({
          pushPromiseResult: `push promise resolved with: ${pushId}`,
        });
        return pushId;
      })
      // When time out is removed the pop promise is rejected. <============ here is the problem
      .then((popId) => new Promise<string>((resolve) => setTimeout(() => resolve(popId), 500)))
      .then((popId) => Navigation.pop(popId))
      .then((popId) => {
        this.setState({
          popPromiseResult: `pop promise resolved with: ${popId}`,
        });
      })
      .catch((err) => console.log(err));
  };

What was the expected behaviour?

No response

Was it tested on latest react-native-navigation?

  • I have tested this issue on the latest react-native-navigation release and it still reproduces.

Help us reproduce this issue!

No response

In what environment did this happen?

React Native Navigation version:
React Native version:
Has Fabric (React Native's new rendering system) enabled: (yes/no)
Node version:
Device model:
iOS version:

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions