美文网首页
多个异步请求同时发出,对其结果进行有序执行~

多个异步请求同时发出,对其结果进行有序执行~

作者: 无酒之人 | 来源:发表于2019-08-05 18:01 被阅读0次

    这是一道面试时遇到的面试题,当时没手写出来,现在抽空敲出来了,补一下~
    原题是这样的:

    有10个ajax请求,要求同时发出,然后以次展示返回的数据,要求请求和展示相互之间不阻塞。

    (async () => {
        let arr = await task(1000)
        for(let i = 0; i < 10; i++) {
            let j = await arr[i]
            console.log(j)
        }
    })()
    function task(timer) {
        let i = []
        let time = [9, 1, 2, 4, 6, 1, 2, 3, 5, 9]
        for(let j = 0; j < 10; j++) {
            i.push(new Promise((res, rej) => {
                setTimeout(() => {
                    res(timer*time[j] + 'res')
                }, timer*time[j]);
            }))
        }
        return i
    }
    

    相关文章

      网友评论

          本文标题:多个异步请求同时发出,对其结果进行有序执行~

          本文链接:https://www.haomeiwen.com/subject/amqvdctx.html