| 401 | } |
| 402 | |
| 403 | function fetchTodoById({ id }: { id: number }): Promise<Todo> { |
| 404 | console.info('fetchTodoById', { id }) |
| 405 | return new Promise((resolve, reject) => { |
| 406 | setTimeout( |
| 407 | () => { |
| 408 | if (Math.random() < errorRate) { |
| 409 | return reject( |
| 410 | new Error(JSON.stringify({ fetchTodoById: { id } }, null, 2)), |
| 411 | ) |
| 412 | } |
| 413 | resolve(list.find((d) => d.id === id)) |
| 414 | }, |
| 415 | queryTimeMin + Math.random() * (queryTimeMax - queryTimeMin), |
| 416 | ) |
| 417 | }) |
| 418 | } |
| 419 | |
| 420 | function postTodo({ name, notes }: Omit<Todo, 'id'>) { |
| 421 | console.info('postTodo', { name, notes }) |