javascript - js中异步返回值的问题?
大家讲道理
大家讲道理 2017-05-19 10:15:01
[JavaScript讨论组]

1、下面是我v-for的列表渲染

 <p class="swiper-slide" v-for="bind in binds">
            <p class="bind_box">
              <p class="bind_box_top">
                <p class="bind_box_face"><img :src="bind.face" v-if="bind.face"><img src="../page/baby/images/face_default.png" v-else></p>
                <p class="bind_box_name">{{bind.name}}</p>
              </p>
              <p class="bind_box_main">
                <p class="bind_box_pic"><img :src="bind.id | createdEwm(bind.name,bind.token)"></p>
                <p class="bind_box_text">扫描二维码关注宝贝</p>
              </p>
            </p>
        </p>

2、下面是createdEwm的方法:

createdEwm:function(id,name,token){
        var ewmUrl="bind|"+id+"|"+name//+"|"+token
        var ewmPath=''
        jsbridge.callMethod({
          methodName:"qrGenerate",
          params:{url:ewmUrl,size:150},
          complete:function(data){
            let obj = JSON.parse(data);
            if(obj.errCode=='0'){
              ewmPath=obj.path
            }else{
                alert(obj.errMsg)
                ewmPath=''
            }
            alert(ewmPath)
            return ewmPath
          }
        })
      }

问题:这个时候alert可以弹出返回的ob.path数据,return返回到:src绑定的却为空?return返回的对象不是createdEwm吗?还是现在对应的return是complete?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(2)
ringa_lee

里面方法的return 和外面的方法没有关系

世界只因有你

你要看清楚jsbridgeyi已經在執行callMethod這個方法,而complete只是callMethod下的一個方面,假如你return ewmPath,這個作用域可只是在callMethod下,而不是在createdEwm下,所以返回會為空

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号