账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    如何向回调函数中传参?
    31
    0
    loginJustWithPhone: function (e) {
        //判断是否确认授权
        if (e.detail.errMsg == "getPhoneNumber:ok") {
            //获取手机号
            let phone = getPhoneNum(e.detail);
            console.log(phone);
            
        } else {
            console.log('已取消授权');
    
    
        }
    },
    function __setOpenidAndSessionKey(fun) {
    
    wx.login({
        success: res => {
            // res.code 微信临时登录凭证
            //发送 res.code 到微信后台换取 openId, sessionKey
    
            wx.request({
                url: app.globalData.serverurl + 'xcx/getUserSO2.action?code=' + res.code,
                success: res => {
                    res = res.data;
    
                    if (res.status == 1) {
                        let codejson = JSON.parse(res.object);
                        let openid = codejson.openid;
                        let sessionKey = codejson.session_key;
    
                        wx.setStorage({
                            key: 'openid',
                            data: openid,
                        });
    
                        wx.setStorage({
                            key: 'sessionKey',
                            data: sessionKey,
                        });
    
                        fun();
                    }
                }
            });
        }
    });
    }
    
    
    
    export function getPhoneNum(rawdetail) {
    __setOpenidAndSessionKey(function () {
        let WXBizDataCrypt = require('../js/WXBizDataCrypt.js');
    
        let sessionKey = wx.getStorageSync('sessionKey');
        // console.log(rawdetail);
    
    
        //第一个参数为appid
        let pc = new WXBizDataCrypt(appID, sessionKey);
        // console.log(pc);
    
    
    
        let data = pc.decryptData(rawdetail.encryptedData, rawdetail.iv);
    
        return data.phoneNumber;
    
    });
    
    
    
    
    //
    //
    }
    

    getPhoneNum()中传入的rawdetail传不进__setOpenidAndSessionKey中去。

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • -何必执着。 普通会员 1楼

      在JavaScript中,回调函数是一种常见的函数式编程特性,它允许我们在函数外部调用函数,以便在函数执行完成后执行其他操作。

      在回调函数中传参,通常使用方括号[]来指定参数列表。例如,以下是一个简单的回调函数,该函数接收两个参数,并在函数执行完成后打印它们:

      ```javascript function sayHello(name) { console.log('Hello, ' + name); }

      sayHello('World'); // 输出:Hello, World ```

      在这个例子中,sayHello函数被传递了两个参数:name和world。然后在函数内部,我们使用console.log()函数来打印出这两个参数。

      回调函数是JavaScript中非常强大的特性,它可以让我们在函数运行期间执行其他操作。但是,需要注意的是,过多地使用回调函数可能会导致代码难以理解和维护,因此在使用回调函数时需要谨慎。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部