微信小程序示例代码有个对象的属性没有冒号是怎么回事

新手上路,请多包涵

刚开始学前端,
源代码里的“success”和“fail”,怎么没有冒号呢?
我学的是下面这样子。
新写法吗?

我想象中的样子:

{
   url: opts.loginUrl,
   ...
   success: function(result) {},
   fail: function(err) {}
}

源代码如下:

wx.request({
            url: opts.loginUrl,
            header: header,
            method: opts.method,
            success (result) {
                const data = result.data;

                if (!data || data.code !== 0 || !data.data || !data.data.skey) {
                    return opts.fail(new Error(`响应错误,${JSON.stringify(data)}`))
                }

                const res = data.data

                if (!res || !res.userinfo) {
                    return opts.fail(new Error(`登录失败(${data.error}):${data.message}`))
                }

                // 成功地响应会话信息
                Session.set(res)
                opts.success(res.userinfo)
            },
            fail (err) {
                console.error('登录失败,可能是网络错误或者服务器发生异常')
                opts.fail(err)
            }
});

箭头函数这种也是有冒号呀

qcloud.login({
                success: res => {
                    this.setData({ userInfo: res, logged: true })
                    util.showSuccess('登录成功')
                },
                fail: err => {
                    console.error(err)
                    util.showModel('登录错误', err.message)
                }
})
阅读 2.4k
1 个回答

这只是ES6对象属性的简洁表示法写法,用起来会更方便一点,不关小程序的事。想深入了解的话,可以看一看阮一峰的es6入门教程

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题