鍍金池/ 問答/HTML/ 如何向回調(diào)函數(shù)中傳參?

如何向回調(diào)函數(shù)中傳參?

loginJustWithPhone: function (e) {
    //判斷是否確認授權(quán)
    if (e.detail.errMsg == "getPhoneNumber:ok") {
        //獲取手機號
        let phone = getPhoneNum(e.detail);
        console.log(phone);
        
    } else {
        console.log('已取消授權(quán)');


    }
},
function __setOpenidAndSessionKey(fun) {

wx.login({
    success: res => {
        // res.code 微信臨時登錄憑證
        //發(fā)送 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);


    //第一個參數(shù)為appid
    let pc = new WXBizDataCrypt(appID, sessionKey);
    // console.log(pc);



    let data = pc.decryptData(rawdetail.encryptedData, rawdetail.iv);

    return data.phoneNumber;

});




//
//
}

getPhoneNum()中傳入的rawdetail傳不進__setOpenidAndSessionKey中去。

回答
編輯回答
怪痞

__setOpenidAndSessionKey的回調(diào)用個函數(shù)包起來,里面調(diào)用這個函數(shù)并傳參

2018年4月30日 00:49
編輯回答
久礙你
//下面函數(shù)中的rawdetail參數(shù)去掉
export function getPhoneNum(rawdetail) {
    __setOpenidAndSessionKey(function (/*這里不需要rawdetail參數(shù)*/) {
        //...
    })
}
2018年9月12日 14:44