猿问

Promise的用法问题

现在想用Promise让所有图片加载完之后执行其他逻辑
看了很多资料会简单使用Promise了,但是在循环里就蒙了。。
Promise.all()的参数该怎么弄呢?

$.each(data, function (i, n) {


    //insert Name

    wall.insert(n.id, n.nickname, 'name');


    //Photo and Avatar load

    wall.loadImg(n.photo, function () {


        wall.loadImg(n.avatar, function () {

            wall.insert(n.id, n.avatar, 'avatar');

            wall.insert(n.id, n.photo, 'photo');


            wallData.showKey.push(n.id);

           

        });

    });

});


wall.loadImg = function (url, cb, er) {

    new Promise((resolve, reject) => { 

        var img = new Image();

        img.src = url;

        if(img.complete){

            cb()

            resolve()

        }else {

            img.onload = function(){ resolve() };

            img.onerror = er;

        }

    }); 

};


呼啦一阵风
浏览 450回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答