CC老师您好,关于简化resolve写法还是有点不太明白
CC老师您好。简化resolve的写法还是有点不太明白
# 具体遇到的问题
# 报错信息的截图
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
wx.getSetting({
success : res => resolve(res),
//success : resove
})
success : res => resolve(res),
//success : resove
这里 res 不传递进去,resolve 是如何将res的值返回出去的呀?还是不太明白
正在回答
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 星