一、使用.catch方法捕获reject 当Promise被拒绝时,可以通过在Promise链的末尾添加.catch方法来捕获错误。例如: ```javascript newPromise((resolve,reject)=>{ //模拟异步操作 setTimeout(()=>{ reject("操作失败"); },1000); }) .then(data=>{ //处理resolve情况 console.log(data); }) .catch(error...
第二步:封装wx.request方法成promise对象 使用promise对象能很好的解决回调地狱,在.then(res=>{}).catch(err=>{})中能很清晰地看出代码的逻辑 exportconst返回出去的方法名 =(parmas) =>{// 返回一个promise对象returnnewPromise((resolve, reject) =>{ wx.request({url: parmas.url,//仅为示例,并非真实的...
表现状态:可以用resolve正常返回小程序数据,也可以用try,catch捕获reject错误数据,但是无法正常的获取到reject返回的数据。 错误截图,注意返回任何数据都导致代码无法正常运行,非常影响开发 代码: async onShows() { try { const ceshi = () => { return new Promise((resolve, reject) => {...
const promise =new Promise((resolve,reject)=>{ //promise运行中有三个状态 //pending 进行中 //fulfilled 已成功 //rejected 已失败 wx.getSystemInfo({ success: res=>{ resolve(res)//会把进行中改变成已成功 }, fail:err=>{ reject(err)//会把进行中改变成已失败 } }) }) promise.then(res=>...
let pro=newPromise((resolve, reject) =>{ wx.request({ url: _url, data: _data||{}, method: _method, success: (res)=>{if(res.statusCode ===200) { console.log("wx.request is success:200 0k.") resolve(res) }else{ console.log("wx.request is success:200 lost.") ...
letpromisify=func=>args=>newPromise((resolve,reject)=>{func(Object.assign(args,{success:resolve,fail:reject,}))})let_login=promisify(wx.login)// 将wx.login转成Promise形式的方法_login().then(res=>console.log) 这种方式比较麻烦,每次调用都需要手动转换。
微信小程序开发四:Promise的使用,解决回调地狱 Promise:解决回调金字塔,使代码易于维护,可读性强,链式调用函数!降低耦合 一般用于重新定义http方法 setstorage方法 实现形式: function funtionname(){ var p = new Promise(function(resolve,reject){ 在这里做functionname需要做的事...
下面分析如何用Promise来进行简化代码 因为微信小程序异步api都是success和fail的形式,所有有人封装了这样一个方法: promisify.js module.exports = (api) => { return (options, ...params) => { return new Promise((resolve, reject) => { api(Object.assign({}, options, { success: resolve, fail: ...
// 数据请求 wx.request var sendRrquest = function(url, method, data, header) { var status = true; var promise = new Promise(function(resolve, reject) { wx.getNetworkType({ success: function(res) { // 返回网络类型2g,3g,4g,wifi, none, unknown ...