前端 promise 面试题

/*
1. 第一个接口会返回一个 taskId
2. 通过这个 taskId 可以去另一个接口查询任务结果

- 需求
  - 执行一个异步任务
  - 通过 taskId 每秒去获取结果,成功或者失败都需要执行 UI 的更新,待定的情况就继续轮询
  - 如果超过 30 秒没有得到结果,就按照失败处理
*/

function executeAsyncTask(): Promise<{ taskId: string }> {
return Promise.resolve({ taskId: "1" });
}

type taskState = "success" | "error" | "pending";

function queryTaskResult(taskId: string): Promise<{ state: taskState }> {
return Promise.resolve({ state: "error" });
}

function updateUI(state: "success" | "error") {
// 实现省略
}

function doSomething() {
// TODO: 请编写这个函数的代码
}

#面经#
全部评论
可以 不过建议楼主下次用代码框来写
2
送花
回复
分享
发布于 2022-02-19 00:13
感谢分享,仔细研究一下
点赞
送花
回复
分享
发布于 2022-02-18 13:05
滴滴
校招火热招聘中
官网直投
前端题库 https://www.nowcoder.com/discuss/845491
点赞
送花
回复
分享
发布于 2022-03-07 09:53
有想法来字节实习吗,急缺人,一周内可安排面试  可以加wx了解一下   lambda-hd
点赞
送花
回复
分享
发布于 2022-03-18 11:12

相关推荐

1 7 评论
分享
牛客网
牛客企业服务