1.new promise
function $sureDelete(params) {
return new Promise((resolve, reject) => {
wx.showModal({
title: params,
success: ({confirm }) => {
if (confirm) {
resolve() //返回promise对象
}
}
})
})
pages内:
del(e) {
$sureDelete('删除吗').then(res => { //确定之后执行的操作
let myid = getData(e, 'id')
let myclass = getData(e, 'class')
this.data.fruit.splice(myid, 1)
this.setData({
fruit: this.data.fruit
})
$dal('删除成功')
})
2.async 封装方法同上
async del(e) { //1)async 声明 同步写异步
await $sureDelete('删除吗') //2) await结构为true直接运算
let myid = getData(e, 'id')
let myclass = getData(e, 'class')
this.data.fruit.splice(myid, 1)
this.setData({
fruit: this.data.fruit
})
$dal('删除成功')
},
本文介绍了两种使用await和new Promise对Promise进行封装的方法,适用于JavaScript和小程序开发。第一种方法是通过new Promise创建一个新的Promise实例,第二种方法则是结合async函数进行封装。这两种方式都能有效管理和组织异步代码。
2977

被折叠的 条评论
为什么被折叠?



