带超时的异步订单处理
TypeScript
Medium
async
任务 «带超时的异步订单处理»
编写一个异步函数 processOrders,它接收一个订单对象数组(每个对象包含字段 id: number 和 delay: number)。为每个订单创建一个异步操作,该操作在 delay 毫秒后执行(使用 setTimeout)。如果操作在 1000 毫秒内未完成,则该操作应被拒绝并返回错误 'Timeout'。函数应返回按原始订单顺序排列的结果数组:成功时返回 {id, status: 'ok'},被拒绝时返回 {id, status: 'timeout'}。使用 Promise.allSettled 和一个带超时的辅助 Promise。
输入格式
第一行是一个整数 n(订单数量)。接下来 n 行,每行包含两个数字:id 和 delay。
输出格式
n 行,每行格式为:id status(ok 或 timeout)。
示例
示例 1
输入
Hello World
输出
3
示例 2
输入
Hello world
输出
2
示例 3
输入
2
10 1200
20 800
输出
10 timeout
20 ok
示例 4
输入
JavaScript
输出
3
main.ts