代码解释 onSubmitTap:function(){var t=this;return s(r.default.mark((function n(){var a;return r.default.wrap((function(n){while(1)switch(n.prev=n.next){case 0:a=t,e.getStorageSync("nowTable"),e.showModal({title:"提示",content:"是否确认支付",success:function(){var e=s(r.default.mark((function e(t){var n;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!t.confirm){e.next=9;break}if(null!=a.addresszhi||"2"!==a.caipinOrderStatusTypes){e.next=4;break}return a.$utils.msg("请选择地址"),e.abrupt("return");case 4:return n={},"2"===a.caipinOrderStatusTypes?(n.addressId=a.addresszhi.id,n.caipins=JSON.stringify(a.orderGoods),n.yonghuId=a.user.id,n.caipinOrderStatusTypes=a.caipinOrderStatusTypes,n.caipinOrderPaymentTypes=a.caipinOrderPaymentTypes):(n.caipins=JSON.stringify(a.orderGoods),n.yonghuId=a.user.id,n.caipinOrderStatusTypes=a.caipinOrderStatusTypes,n.caipinOrderPaymentTypes=a.caipinOrderPaymentTypes),e.next=8,a.$api.
时间: 2023-06-20 15:09:29 浏览: 177
这是一个 onSubmitTap 方法的定义,当用户点击提交按钮时,会触发该方法。该方法使用了 async/await 和 generator 函数来处理异步请求。
首先,该方法会从本地存储中获取当前订单所在的桌号,并弹出一个确认支付的提示框。如果用户点击确认支付,则会执行下面的代码。
然后,该方法会判断用户是否选择了收货地址并且订单状态是否为 2。如果没有选择收货地址或者订单状态不为 2,则会提示用户选择收货地址。
接着,该方法会组织一个请求参数对象,包含用户选择的商品信息、用户 ID、订单状态和支付方式等信息,并调用 $api 接口来提交订单。
最后,该方法会返回一个 Promise 对象,用于处理异步请求的结果。
相关问题
get_teacher_list: function() { var e = this; return (0, u.default)(i.default.mark((function t() { var n; return i.default.wrap((function(t) { while (1) switch (t.prev = t .next) { case 0: return t.next = 2, e .$lib.$http .post({ url: e .$lib .$urlMap .teacherRec, data: {}, needLogin: !1 }); case 2: n = t.sent, 1 == n .code && (e .teacherList = n.data.data ); case 4: case "end": return t.stop() } }), t) })))() }, get_teacher_list: function() { var e = this; return (0, u.default)(i.default.mark((function t() { var n; return i.default.wrap((function(t) { while (1) switch (t.prev = t .next) { case 0: return t.next = 2, e .$lib.$http .post({ url: e .$lib .$urlMap .teacherRec, data: {}, needLogin: !1 }); case 2: n = t.sent, 1 == n .code && (e .teacherList = n.data.data ); case 4: case "end": return t.stop() } }), t) })))() },
这段代码是一个 JavaScript 函数,其中用到了 ES6 的 async/await 和 Generator 函数语法,以及封装的网络请求库。函数名称为 `get_teacher_list`,大致功能是获取咨询师列表。
具体来说,函数的核心代码是以下部分:
```
return (0, u.default)(i.default.mark((function t() {
var n;
return i.default.wrap((function(t) {
while (1) switch (t.prev = t.next) {
case 0:
return t.next = 2, e .$lib.$http .post({
url: e .$lib .$urlMap .teacherRec,
data: {},
needLogin: !1
});
case 2:
n = t.sent,
1 == n .code && (e .teacherList = n.data.data );
case 4:
case "end":
return t.stop()
}
}), t)
})))()
```
这段代码是一个立即执行的匿名函数,返回一个 Promise 对象。在函数内部,通过网络请求库向服务器发送 POST 请求,请求地址为 `e .$lib .$urlMap .teacherRec`,请求参数为 `{ data: {}, needLogin: !1 }`。请求成功后,将返回的数据存储到 `e.teacherList` 中,即咨询师列表。
阅读全文