javascript - 等待 promise ?

标签 javascript jquery

我的代码的问题是,当代码第一次运行时,我试图获取的 dom 元素并不总是存在,如果它不存在,那么永远不会做出 promise 。

我是否可以等到 promise 做出后再尝试实现它?

我希望我的最后一行代码等待并仅在我做出 promise 时运行,这可能吗?

function identify_home(){           
    const ytd_home_page = $("ytd-browse.style-scope.ytd-page-manager")
    if (ytd_home_page.length){
        for (var i=0; i<ytd_home_page[0].children.length; i++){             
            if (ytd_home_page[i].attributes[0].value === "home"){
                return new Promise(res=>{
                    res(ytd_home_page[i])
                })

            }               
        }
    }                                   
}      

identify_home().then(res=>{
    console.log(res)
})

最佳答案

您需要返回 Promise 作为函数的结果。现在,您有条件地返回 undefinedPromise

编辑:我还不确定 OP 实际上想做什么。在 DOM 查询中使用 Promise 没有任何意义。

关于javascript - 等待 promise ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49566569/

相关文章:

javascript - backbone.js 上的无限滚动/分页不起作用

javascript - 如何使用javascript在ul标签中创建元素li img标签?

javascript - Visual Studio Code 自定义颜色被覆盖?

javascript - 在 div 标签中显示多个附加文档名称,并在单击它们时删除单个文档。

javascript - JS 返回值在函数中与从外部返回值不同

javascript - 在 JS 中使用 keypress() 时禁用 Firefox 自动搜索

javascript - jQuery 模板 - 将数据关联到模板 DOM 元素

javascript - 错误 - 未定义 easeInBounce

javascript - 功能的禁用/启用按钮不起作用

jquery - 如何停止 jQuery 淡入淡出/淡出连续循环?