如何在小程序中自主编写代码实现长尾词拦截器功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计875个文字,预计阅读时间需要4分钟。
在某些框架中,可以发现一个非常有用的功能:拦截器(interceptor)。例如,若需实现以下需求:小程序每次获取定位信息后,都将结果存储到全局变量globalData中:wx.getLocation({ /* success(res) { getApp().globalData.loc=res; } */ })
在一些框架中发现会提供一个很实用的功能:拦截器(interceptor)。例如要实现这个需求:小程序每次获取到定位后都存到 globalData 里:
wx.getLocation({ // .. success(res) { getApp().globalData.location = res // ... } })
如果每一处使用 wx.getLocation 的地方都这么写也没啥大问题,但总显得不够“智能”,一方面是多了重复代码,另一方面如果需求变动,获取到定位后存到别的地方,那要改很多次。
优雅的拦截器
有了拦截器,可以更优雅的实现它:
intercept('getLocation', { success(res) { getApp().globalData.location = res } })
只要在一处定义如上的拦截器,其他地方直接用 wx.getLocation 即可。
本文共计875个文字,预计阅读时间需要4分钟。
在某些框架中,可以发现一个非常有用的功能:拦截器(interceptor)。例如,若需实现以下需求:小程序每次获取定位信息后,都将结果存储到全局变量globalData中:wx.getLocation({ /* success(res) { getApp().globalData.loc=res; } */ })
在一些框架中发现会提供一个很实用的功能:拦截器(interceptor)。例如要实现这个需求:小程序每次获取到定位后都存到 globalData 里:
wx.getLocation({ // .. success(res) { getApp().globalData.location = res // ... } })
如果每一处使用 wx.getLocation 的地方都这么写也没啥大问题,但总显得不够“智能”,一方面是多了重复代码,另一方面如果需求变动,获取到定位后存到别的地方,那要改很多次。
优雅的拦截器
有了拦截器,可以更优雅的实现它:
intercept('getLocation', { success(res) { getApp().globalData.location = res } })
只要在一处定义如上的拦截器,其他地方直接用 wx.getLocation 即可。

