小程序
小游戏
企业微信
微信支付
扫描小程序码分享
代码片段 https://developers.weixin.qq.com/s/fMLU2Zmt7wrQ
直接编译,然后点提交可以看到结果,两种请求方式结果不一样,直接用wx.request 请求使用正常,点击提交按钮可以弹出验证框,
使用封装的promise请求不正常,无法正常弹起验证框
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
最后是promise封装原型修改的影响 继续看看是如何影响的 https://developers.weixin.qq.com/community/develop/doc/000e8ecd86c6d0e3c77c5e01656400
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
兄弟 工具打不开插件。
是插件的拖动验证么。你这个代码片段 我访问不了。没法复现
贴下promise的代码呀
let requestTask = null
const app = getApp()
const request = ({ url, data = {}, header = {}, method = 'POST', ignoreErrorToast = false, ignoreLoadingToast = false, ignoreAPIError = false, isShowLoading = true }) => {
url = url.replace(/(^\s*)|(\s*$)/g, '') // 去掉url左右空格
const promise = new Promise((resolve, reject) => {
requestTask = wx.request({
url: `https://www.geetest.com/demo/gt/${url}`,
data,
header,
method: method,
dataType: 'json',
responseType: 'text',
success: (res) => {
resolve(res)
},
fail: (err) => {
reject(err)
complete: function (res) { }
})
// console.log('requestTask:',requestTask)
// eslint-disable-next-line no-proto
promise.__proto__.__requestTask = requestTask //这样写AppData里面会多出来__requestTask
// promise.__requestTask = requestTask // 这样写不会影响AppData
// console.log('promise:',promise)
return promise
}
module.exports = { request }
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
最后是promise封装原型修改的影响 继续看看是如何影响的 https://developers.weixin.qq.com/community/develop/doc/000e8ecd86c6d0e3c77c5e01656400
兄弟 工具打不开插件。
是插件的拖动验证么。你这个代码片段 我访问不了。没法复现
贴下promise的代码呀
let requestTask = null
const app = getApp()
const request = ({ url, data = {}, header = {}, method = 'POST', ignoreErrorToast = false, ignoreLoadingToast = false, ignoreAPIError = false, isShowLoading = true }) => {
url = url.replace(/(^\s*)|(\s*$)/g, '') // 去掉url左右空格
const promise = new Promise((resolve, reject) => {
requestTask = wx.request({
url: `https://www.geetest.com/demo/gt/${url}`,
data,
header,
method: method,
dataType: 'json',
responseType: 'text',
success: (res) => {
resolve(res)
},
fail: (err) => {
reject(err)
},
complete: function (res) { }
})
})
// console.log('requestTask:',requestTask)
// eslint-disable-next-line no-proto
promise.__proto__.__requestTask = requestTask //这样写AppData里面会多出来__requestTask
// promise.__requestTask = requestTask // 这样写不会影响AppData
// console.log('promise:',promise)
return promise
}
module.exports = { request }