先定义一个返回promise函数的函数,成功时返回预定义的时间值
function getTime(time) {
return new Promise(function (resolve, reject) {
setTimeout(function () {
resolve(time)
}, time)
})
}
var times = Array.apply(null, Array(100)).map(function (n, index) {//定义一个0-990间隔为10的预定义时间的数组
return index * 10;
})
var RealTimes = [];//真实的返回时间
var log = [];
var startTime = new Date();
times.map(getTime).forEach(function (timePromise, index) {
timePromise.then(function (time) {
RealTimes.push(new Date() - startTime);
if (RealTimes.length === times.length) {
RealTimes.map(function (value, index) {
log.push(`${times[index]}(${value})`)
})
console.log(log);
}
})
})
下面是执行后输出的预定义的时间和真实返回的时间的对比
富国沪深
相关分类