小程序JS方法内的代码不按照顺序执行?
发布于 6 年前 作者 lhou 4316 次浏览 来自 官方Issues

上代码,具体就是先判断数据库里面有没有这个用户,然后有的话,再去判断这个用户有没有通过审核,但是每次执行都是先去验证有没有审核,再回来执行查询有没有这个用户,而且每次都是这样,简单的说就是同样的代码,但是每次都先执行后面然后才执行前面??这是什么操作?可以看一下下面的consl语句,每次都是先打印222222 再打印111111

blogin: function (e) {

var _this = this

//获取表单数据

var username = e.detail.value.username

var password = e.detail.value.password

const db = wx.cloud.database(); //初始化数据库

//首先判断数据库中是否存在该商户

db.collection(‘business’).where({loginname:username,loginpwd:password}).get({

success: res => {

console.log(“11111111111” )

_this.data.lengthTip = res.data.length

},

})

console.log(“222222222222222”)

if (_this.data.lengthTip!=0){

//若存在该用户,则判断是否正在审核当中

db.collection(‘business’).where({ loginname: username, loginpwd: password,stauts:0}).get({

success: res => {

_this.data.lengthTip = res.data.length

},

})

if (_this.data.lengthTip != 0){

_this.setData({

tip: ‘该账户正在审核当中请稍后再试’

})

wx.navigateTo({

url: ‘/pages/sh/sh’,

})

}else{  

wx.setStorageSync(‘username’, username);

wx.navigateTo({

url: ‘/pages/bindex/bindex’,

})

}

}else{

_this.setData({

tip:‘用户名或密码错误’

})

}

},

6 回复

async,await了解一下

云开发 API支持Promise的,async,await 可以解决你的问题.

将下一步的操作写到上一步的then,或者success里面

API支持Promise的,async,await具体怎么用?网上找了一些方法 自己试了不行

异步了解下

回到顶部