手写promise (面试问的手写promise不会要写很难的,写一个简单的包含同步异步逻辑就行了,不需要完全实现A+规范)来源
谈谈 es6 新特性(Promise 概念, async, await)来源
Promise 有哪些静态方法 来源
手写 Promise.all 来源
Promise 的静态方法及用途 来源
Promise的并发控制,一次并发6次,如果中途reject一次,整体函数返回 Promise.reject
;整体成功则返回成功的结果列表。来源
说说 Promise 的 catch 和 then 的第二个参数区别 来源
Promise then方法success回调发生异常,能在catch捕获吗?then的第二个参数,reject方法能捕获吗?
手写 Promise.any 来源
如何用js的promise实现一个最多只有两个promise同时运行的函数,要求多个调用该函数时,promise运行完毕后按输入顺序打印出来内容。来源
手写 Promise 2
实现u.console("breakfast").setTimeout(3000).console("lunch").setTimeout(3000).console("dinner") 来源
Promise 实现超时请求处理 来源
promise实现race
实现 isPromise
异步编程有哪几种方法,promise里的状态是可变还是不可变吗? 来源
写一个最多能并发执行n个promise的队列 来源
JS实现一个带并发限制的异步调度器Scheduler,保证同时运行的任务最多有两个。完善代码中Scheduler类,使得以下程序能正确输出。 来源
class Scheduler { add(promiseCreator) { ... } // ...}const timeout = (time) => new Promise(resolve => { setTimeout(resolve, time) })const scheduler = new Scheduler()const addTask = (time, order) => { scheduler.add(() => timeout(time)) .then(() => console.log(order)) } addTask(1000, '1') addTask(500, '2') addTask(300, '3') addTask(400, '4')// output: 2 3 1 4// 一开始,1、2两个任务进入队列// 500ms时,2完成,输出2,任务3进队// 800ms时,3完成,输出3,任务4进队// 1000ms时,1完成,输出1// 1200ms时,4完成,输出4
promise 的应用场景
算法:实现一个并发控制,有一个最大并发数,然后按照请求顺序依次打印。 来源
实现一个函数,这个函数的参数有三个数组,每个数组里是函数,每个函数会返回一个promise。实现数组中函数中返回的promise进行并发,然后等第一个数组执行完,再去执行第二个,最后执行第三个。最后把所有数组的结果拼接到一起返回。
Promise和Async/Await区别
给定一个URL数组,请问js如何实现串行执行[url1, url2, url3,.....] 来源
利用promise1秒输出1,2秒输出2... 来源
promise+setTimeout实现fetch 来源
用Promise实现延迟3秒后输出 delay(3000).then(f,e) 来源
用 Promise 封装一个定时器 来源
三个异步fetch请求,只要有一个请求变成resolve,那么就输出对应的result,并结束。如果请求过程中出现错误,则需要在最后输出错误信息 来源
promise实现文件读取
promise的三种状态,如何取消一个promise
promise 的兼容性
说一下promise在出错的时候怎样处理
实现一个有并发限制的Promise.all 来源
使用Promise实现网络请求超时判断,超过三秒视为超时。 来源 2
promise的三种状态 是否可以从fullfilled转移到rejected 来源
promise错误捕获的方式有哪些 来源
promise实现并发怎么做?怎么使用一个方法实现promise.all失败的请求
promise 两个reject会怎么样? 来源
Promise.prototype.then接收的参数有哪些
settimeout和promise区别
场景题:为了解决长任务阻塞问题,把这个长任务拆分为10万个子任务在for循环中执行,那么子任务用promise还是用settimeout更能解决阻塞问题 来源
promise有几种状态→状态已经变化了还可以更换吗
Promise与之前方式的优势,如何解决Promise的缺点(async await) 来源
实现Promise,实现到链式调用
promise.resolve是干嘛的 来源
promise.then如何实现链式调用
promise.then不返还一个promise还能用then吗
promise.finally的作用,如何自己实现finally
promise原理
Promise里面all、race分别有什么区别,作用是什么,race有什么用 来源
Promise如何捕获异常(then().catch())catch能捕获到上一个then函数里面的异常吗(Promise中的then第二个参数和catch有什么区别)
为什么要用then链代替之前的回调函数(避免回调地狱,除此之外还有什么原因)
Promise的串行怎么实现 (比如有100个异步任务怎么实现两两一组执行) 来源
Promise相关实例和静态方法的概念,如何在 Promise.all 失败的时候判断是哪个失败的 来源
如何中断Promise的链式调用 来源
用 es5 实现 promise 来源