Allow Animation EndResult callback to return Promise (#25793)

Summary:
I am sending an asynchronous function as callback to the `.start` method of `Animation.parallel([...]).start(callback)`. Flow does not like this, as the `EndCallback` type is saying that these callbacks must return `void`. Since my callback returns `Promise<void>` this results in an error.

Does it really matter what the callback returns?

## Changelog

[General] [Changed] - Make Animation EndCallback type allow any return value
Pull Request resolved: https://github.com/facebook/react-native/pull/25793

Test Plan: I have run `yarn flow`, which reported no errors.

Reviewed By: cpojer

Differential Revision: D16515465

Pulled By: osdnk

fbshipit-source-id: 420d29d262b65471e6e1ad4b5a126bf728336260
This commit is contained in:
Mats Byrkjeland
2019-07-26 03:38:03 -07:00
committed by Facebook Github Bot
parent e78c01375a
commit bb623e6983
2 changed files with 2 additions and 2 deletions
@@ -14,7 +14,7 @@ import type {TurboModule} from '../../TurboModule/RCTExport';
import * as TurboModuleRegistry from '../../TurboModule/TurboModuleRegistry';
type EndResult = {finished: boolean};
type EndCallback = (result: EndResult) => void;
type EndCallback = (result: EndResult) => void | Promise<void>;
export type EventMapping = {|
nativeEventPath: Array<string>,
@@ -14,7 +14,7 @@ const NativeAnimatedHelper = require('../NativeAnimatedHelper');
import type AnimatedValue from '../nodes/AnimatedValue';
export type EndResult = {finished: boolean};
export type EndCallback = (result: EndResult) => void;
export type EndCallback = (result: EndResult) => void | Promise<void>;
export type AnimationConfig = {
isInteraction?: boolean,