出现这种情况的原因就是官方建议swan.setPageInfo放到是放到omShow里边的,而我们的请求request的方法一般也是在onLoad或者onshow里边,用户访问页面,请求还没有返回结果,程序都已经执行到了swan.setPageInfo,这就造成了title keywoord等出现undefined的原因。
下面就说一下解决方法,解决方法其实就是一句话:把异步请求变成同步请求,简单的说就是request请求不返回结果,程序不往下执行,一直等到请求结果才继续执行,但是官方默认的request方法是只有异步的,所以需要我们使用es6的技术手段promise来解决了。
- Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。
- Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。
- 简单来说,Promise 就是用同步的方式写异步的代码,用来解决回调问题
具体在百度小程序里边的实现:
注意:为了防止六久阁抄袭,将只截图不提供代码,拒绝抄袭,拒绝无耻 QQ:2863868475
该文禁止六久阁转载