当前位置: 首页 > 知识库问答 >
问题:

在量角器中返回函数值时未定义

习洲
2023-03-14

我有一个返回值的函数:

checkValue = function(Name){
    var tempIndex=-1;
    var nameIndex=0;
    return selectElement.all(by.tagName('option')).each(function (element) {
        return element.getText().then(function(text){
            tempIndex++;
            if(text.toString().indexOf(Name)!=-1){
                nameIndex=tempIndex;
                return nameIndex;
            }else{
                return nameIndex;
            };
        });
    });

这是在另一个函数中调用的:

checkValue(Name).then(function(value){
    logger.info("value ::"+value);
});

当我调用上述函数时,该值显示为未定义,在日志中,它在调用checkValue之前显示。

有什么建议吗?

共有1个答案

鞠乐
2023-03-14

您将得到< code>undefined,因为这是< code>each()返回的内容(不返回任何内容),实现:

ElementArrayFinder.prototype.each = function(fn) {
  return this.map(fn).then(function() {
    return null;
  });
};

让我们使用map()以不同的方式处理它:

return selectElement.all(by.tagName('option')).map(function (option, index) {
    return {
        'text': option.getText(),
        'index': index
    };
}).then(function (options) {
    for (var i = 0; i < options.length; i++) {
        if (options[i].text === Name)
        {
            return options[i].index;
        }
    }
});

我仍然不确定这个问题的动机方面,为什么你需要选择一个选项的索引。无论如何,在处理select时,您可以考虑切换到这一点-

  • 选择 -

 类似资料:
  • 问题内容: 我正在尝试获取返回值,但始终无法定义。 我不确定如何获取任何返回值并在其他地方使用它?我需要使用此返回值来与其他函数进行验证,但是它似乎在范围之内。 这是我的代码: 问题答案: 移动以下行: 进入回调: 如果希望返回某些内容,则还需要向其添加回调,以便可以使用它的返回值。例如,如果您希望这样做: 这将无法正常工作,因为内容的最终值将被异步检索。相反,您需要这样做: 您不能异步返回数据。

  • 问题内容: 当我警告jsonServerResponse函数返回的值时,尽管从process.php页面返回了JSON,但其值未定义。 我知道问题是异步请求完成之前发出的警报功能,但是我不确定如何解决此问题。任何建议都非常感激:) 问题答案: 好的,我是从其他帖子中弄清楚的。结果可以在成功回调中处理,也可以添加本身是回调函数的参数并将ajax请求的结果应用于回调。 还有gdoron,您所询问的那一

  • 问题内容: 我有一个计算税金的函数。 我不明白为什么它不能停止递归。 问题答案: 在您的职能部门中: 您没有从函数或设置中返回值。当您不返回任何内容时,返回值为。 也许,您想要这样:

  • 我真的需要温习一下我的异步等待和promise。我想要一些建议。 我正在对firebase firestore进行异步函数调用。函数应根据单个输入参数返回字符串。 该功能适用于1-1用户聊天。该功能是创建聊天/查找现有聊天,并返回其ID。 现在,我得到的作为返回值的和不知道为什么。除了返回之外,该函数还能正常工作。 我有两个功能。一个是React类组件生命周期方法,另一个是我的firebase异步

  • 本文向大家介绍Python函数返回不定数量的值方法,包括了Python函数返回不定数量的值方法的使用技巧和注意事项,需要的朋友参考一下 Python的函数是可以return多个值的,但其本质上还是返回单个值,只是利用了tuple的自动打包,将多个值打包成单个tuple返回。 使用代码验证: 运行结果,确认返回的是一个tuple, 稍微修改代码: 代码中利用了tuple的自动解包,将tuple的值分