Skip to content

Commit ec23747

Browse files
authored
docs(react-native): delay fn returned a function insted of data (#4189)
1 parent 3932866 commit ec23747

File tree

1 file changed

+19
-14
lines changed
  • examples/react/react-native/src/lib

1 file changed

+19
-14
lines changed

examples/react/react-native/src/lib/api.ts

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,28 +12,33 @@ export type MovieDetails = Movie & {
1212
};
1313
};
1414

15-
function delay(t: number, v: () => void) {
15+
function delay(t: number) {
1616
return new Promise(function (resolve) {
17-
setTimeout(resolve.bind(null, v), t);
17+
setTimeout(resolve, t);
1818
});
1919
}
2020

2121
export async function fetchMovies() {
2222
console.log('fetchMovies');
23-
return delay(200 + Math.floor(Math.random() * 2000), () =>
24-
movies
25-
.slice(0, 100)
26-
.map((movie) => ({ title: movie.title, year: movie.year }))
27-
) as Promise<Movie[]>;
23+
24+
await delay(200 + Math.floor(Math.random() * 2000));
25+
26+
return movies
27+
.slice(0, 100)
28+
.map((movie) => ({ title: movie.title, year: movie.year })) as Promise<
29+
Movie[]
30+
>;
2831
}
2932

3033
export async function fetchMovie(title: string) {
3134
console.log('fetchMovie', title);
32-
return delay(200 + Math.floor(Math.random() * 2000), () => {
33-
const result = movies.filter((item) => item.title === title);
34-
if (result.length == 0) {
35-
throw new Error('Movie not found');
36-
}
37-
return result[0];
38-
}) as Promise<MovieDetails>;
35+
36+
await delay(200 + Math.floor(Math.random() * 2000));
37+
38+
const result = movies.filter((item) => item.title === title);
39+
40+
if (result.length == 0) {
41+
throw new Error('Movie not found');
42+
}
43+
return result[0] as Promise<MovieDetails>;
3944
}

0 commit comments

Comments
 (0)