Javascript 量角器端到端测试中的异步执行

Javascript 量角器端到端测试中的异步执行,javascript,protractor,Javascript,Protractor,我写了一个函数,返回一个值。我主要是这样调用函数: var fn_return_val = lesson.select_lesson(lesson1_text); console.log("returned value is : " + fn_return_val); 我的函数实现类似于(other file.js): 问题是函数返回“undefined”值,而print语句console.log(“返回值为:”+fn\u return\u val) 是在函数实现之前执行的 有谁能帮我解决

我写了一个函数,返回一个值。我主要是这样调用函数:

var fn_return_val = lesson.select_lesson(lesson1_text);  
console.log("returned value is : " + fn_return_val);
我的函数实现类似于(other file.js):

问题是函数返回“undefined”值,而print语句
console.log(“返回值为:”+fn\u return\u val)
是在函数实现之前执行的


有谁能帮我解决这个问题吗?

这都是关于承诺和量角器的问题

您需要解决承诺并将结果记录在
中,然后

lesson.select_lesson(lesson1_text).then(function(fn_return_val) {
    console.log("returned value is : " + fn_return_val);
});
您还需要从函数返回:

function select_lesson(lesson_name) {

    ...

    // return here
    return repeter.then(function (items) {
        ...
        }).then(function clickOption() {
            ...
        });
    });
}
function select_lesson(lesson_name) {

    ...

    // return here
    return repeter.then(function (items) {
        ...
        }).then(function clickOption() {
            ...
        });
    });
}