假设我正在使用以下代码按顺序运行一些Promise:
let paramerterArr = ['a','b','c','d','e','f']
parameterArr.reduce(function(promise, item) {
return promise.then(function(result) {
return mySpecialFunction(item);
})
}, Promise.resolve())
这段代码简单地调用了我的特殊函数(该函数返回一个Promise),等待Promise被解决,然后再次调用我的特殊函数等等。所以对于数组中的每个元素,函数都会被调用一次,并按正确的顺序执行。
我该如何确保在每次调用mySpecialFunction(item)
之间至少有50毫秒的延迟?
重要的是Promises按照正确的顺序执行,而且mySpecialFunction
的执行时间每次都有所不同。
我想同步休眠可能有效,但我不打算在单独的线程中运行此代码,因此它会导致浏览器中烦人的UI冻结。
我不确定setTimer是否可以用于此。我的意思是,我不能延迟Promise的返回。