延迟加载图像,但是

问题描述 投票:0回答:1

我们知道图像延迟加载是如何工作的。当页面加载并向下滚动到图像时,它就会开始加载。然后向下滚动到下一张图片,它开始加载。

现在,是否有可能当页面加载或绘制时,所有图像都开始一张一张地加载?这样您就不必向下滚动到下一张图像并等待它加载?

请告诉我是否有任何解决方案。

我搜索了一下,没有发现类似的情况。

lazy-loading
1个回答
0
投票

是的,这是可能的。考虑 Promise 架构和 then 函数。承诺是要兑现的事情。你可以像这样连锁承诺:

function promisedElements(elements, func) {
    let currentPromise;
    let initialPromise;
    for (let element of elements) {
        if (currentPromise) {
            currentPromise = currentPromise.then(func(element))
        } else {
            initialPromise = currentPromise = func(element);
        }
    }
    return initialPromise;
}

其中

func
需要是一个函数,它接受
element
并为其返回一个承诺(以加载该元素)。所以你把它们拴起来。

© www.soinside.com 2019 - 2024. All rights reserved.