承诺中的未定义值

时间:2016-10-26 08:20:51

标签: javascript arrays protractor

我正在尝试编写一个返回数组的函数。 我试过了:

this.view_skills = function() {
        var arr = ;
        dashboard.view_skills();
        skill.approved_skills.each(function(item) {
            item.getInnerHtml().then(function(text) {
                console.log('User skills: ' + text);
                arr.push(text);
            });
            console.log('view a:' + arr);
        });
        return arr;
    };

但是当我调用该函数时,我得到的信息是未定义的。 我试图制作var arr=[] 但这返回了空数组。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

1。)你需要来初始化数组,否则你会收到错误

2。)Promise是异步的,所以当你启动它时,JS代码不会停止。几乎可以这样:

您创建了arr数组,然后启动了一个promise。这需要一些时间,因此引擎继续使用代码。它返回空数组,然后稍后声明结束,并将它放入数组中。