如何从JavaScript中的闭包函数返回值?

时间:2015-09-21 14:05:27

标签: javascript closures protractor angular-promise e2e-testing

我在量角器环境中使用JavaScript进行E2E测试 我在JavaScript上阅读了很多关闭和承诺,但是我仍然无法理解代码中的错误。

我尝试从tag元素(包含很少标签)的以下函数特定字符串值中返回。

有人可以解释那里有什么问题吗?

在调试消息中,我得到了正确的值,但该函数总是返回group_name的初始值(表示:“tmp”)。

以下是我在页面对象中写的功能:

this.retreive_participant_name_by_idx = function(idx){  
    var group_name="tmp"; 

    element.all(by.repeater(this.group_participant_repeater()))
        .then(function(rows) {          
            console.log("before assign  " + group_name);

            element.all(by.repeater("tag in tagList.items track by track(tag)"))
                .get(idx)
                .then(function(row){
                    row.getText().then(function (txt) {
                        group_name = txt;
                        console.log("Item name  " + group_name + "!!!!!");
                        return group_name;  
                    });
                }); 
            });
    return (group_name);
};

0 个答案:

没有答案