首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想在HTML脚本中使用等待函数

我想在HTML脚本中使用等待函数
EN

Stack Overflow用户
提问于 2022-05-23 05:19:58
回答 1查看 66关注 0票数 0

我是个应用程序开发者。

我想用脚本显示通过firebase通信获得的标题og:title

代码语言:javascript
复制
<html>
<head>
    <!--title>Investing People</title-->
   <!--script type="text/javascript" src="share.js"></script-->
    <meta property="og:title" content="채팅방 공유" />
    <meta property="og:description" content="이미지를 클릭하여 채팅방에 참여하세요" />
    <meta property="og:type" content="website" />
    <meta property="og:url" content="" />
    <meta property="og:image" content=""/>

    <meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <meta HTTP-EQUIV="Expires" CONTENT="-1">

    <script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-app.js"></script>
    <script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-storage.js"></script>
    <script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-firestore.js"></script>
    <script src="https://code.jquery.com/jquery-3.6.0.slim.js" integrity="sha256-HwWONEZrpuoh951cQD1ov2HUK5zA5DwJ1DNUXaM6FsY=" crossorigin="anonymous"></script>
    <script type="text/javascript" src="share.js"></script>
    <script async>
        var _url = new URL(location.href);
        var _urlParams = _url.searchParams;
        var _code = _urlParams.get('code');

        if(_code == null || _code == '') {
            location.href='https://localhost:5000';
        } else {
            var title = getRoomTitle(_code);
            if(title != null) {
                var _result = title + ' 방을 공유합니다';
                document.title = _result;
                 $("meta[property='og\\:title']").attr("content", _result);
                // alert(value);
                console.log('title = '+ _result);
                console.log('미리보기 제목 = '+ document.querySelector("meta[property='og:title']").getAttribute("content"));
            } else {
               location.href='https://localhost:5000';
            }

            /*var _title = getRoomTitle(_code).then((value) => {
            var _result = value + ' 방을 공유합니다';
                document.title = _result;
                $("meta[property='og\\:title']").attr("content", _result);
                console.log('title = '+ _result);
                console.log('img path = '+ document.querySelector("meta[property='og:title']").getAttribute("content"));
            });*/
             console.log('script 끝');
        }
    </script>
<body>
<a>잠시만 기다려주세요.</a>
</body>
</head>
</html>

getRoomTitle()函数位于share.js中。

代码语言:javascript
复制
async function getRoomTitle(roomNo) {
  var value = await db.collection('TALK').doc(roomNo).get();
  if(value.data() != null) {
       var _data = value.data();
       var title = _data['title'];
       console.log('_data= ' + _data['title']);
       return title;
  } else {
      console.log('collection select error');
      return '';
  }
}

脚本结束日志正在被获取,而getRoomTitle()中的日志正在被获取。

有解决办法吗?

EN

回答 1

Stack Overflow用户

发布于 2022-05-23 06:20:16

你可以试着等待:

代码语言:javascript
复制
var title = await getRoomTitle(_code);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72343542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档