小程序云开发中会有大量的异步调用的语法,没学习es6之前,看到后处于完全懵逼的状态,一个是语法不清楚,另外一个也不知道是干啥的。Promise教程
写的多了,其实也就明白,其实就是异步调用,和传统的js的ajax差不多,要我通俗的理解就是换了一个写法
vue中异步调用的例子
createData() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.temp.id = parseInt(Math.random() * 100) + 1024 // mock a id
this.temp.author = 'vue-element-admin'
this.temp.status = '待支付'
this.temp.no = parseTime(new Date(), '{y}{m}{d}') + (++this.total).toString().padStart(5, '0')
this.$cloudbase.database().collection('order').add({
no: this.temp.no,
name: this.temp.name,
telphone: this.temp.telphone,
address: this.temp.address,
items: this.products,
totalprice: this.temp.totalprice,
discountprice: this.temp.discountprice,
status: this.temp.status,
createdate: new Date()
}).then((res) => {
this.temp._id = res.id
this.list.unshift(this.temp)
this.dialogFormVisible = false
this.$notify({
title: '提示信息',
message: '新增成功',
type: 'success',
duration: 2000
})
this.fetchData()
}).catch((e) => {})
}
})
}
onLoad: function (options) {
console.log(options.name+" "+options.type)
console.log(teacherCollection)
teacherCollection.where({
course:options.name,
}).get().then(res => {
console.log(res.data)
this.setData({
teacherlist: res.data,
type:options.type
})
})
}
云函数或者官方的API基本都是异步调用的,调用成功我们一般都需要更新状态以给用户进行提示,所以在方法调用完毕后一般跟一个.then()这个就是回调,当然回调里你还得使用箭头函数以便获得到页面的状态变量来更新页面的状态。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。