CC老师您好,关于简化resolve写法还是有点不太明白

CC老师您好,关于简化resolve写法还是有点不太明白

CC老师您好。简化resolve的写法还是有点不太明白

# 具体遇到的问题

# 报错信息的截图

# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

​wx.getSetting({

    ​success : res => resolve(res),

    ​//success : resove

})


  success : res => resolve(res),

    //success : resove

这里 res 不传递进去,resolve 是如何将res的值返回出去的呀?还是不太明白

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

success是一个属性,他的值是一个函数,什么样的函数呢?参数是一个WechatMiniprogram.GetSettingSuccessCallbackResult, 不需要返回值。


res=>resolve(res) 是一个函数,参数是res,做的事情是调用resolve函数。因此可以赋值给success


而简化的写法,resolve本身也是一个函数,参数我们通过上下文推断出就是WechatMiniprogram.GetSettingSuccessCallbackResult,没有返回值,因此resolve也可以被赋值给success。


有关如何返回出去,wx.getSetting一定是类似这样实现的:(仅是我写的伪代码)

function getSetting(opt){

     // 准备get setting,成功后运行以下代码

     let res = ... // res存放获得的setting

     opt.success(res) // 不管success是什么函数,把res传给success

}

对于简化的写法,opt.success的值就是resolve,所以就变成了resolve(res)

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师