【发布时间】:2019-09-23 12:00:09
【问题描述】:
你好,我有这个函数,我已经写了。
GetIndex 方法
getIndex(req: connreq){
var found = false;
var number =0;
this.firereq.child(req.recipient).once('value', function(snapshot) {
if (!snapshot.exists()) {
console.log('Not exists');
this.x = '0';
}
});
}
我称之为,在这个函数中。
SendCommand 方法
async sendcommand(req: connreq, cmd: string) {
this.getIndex(req);
var promise = new Promise((resolve, reject) => {
this.firereq
.child(req.recipient)
.child(this.x) .set({
sender: req.sender,
Command: cmd,
})
.then(() => {
resolve({ success: true });
})
.catch(err => {
resolve(err);
});
});
return promise;
}
然而,第二个函数似乎在 getIndex 方法完成之前继续。我假设我们可以使用 awaits 和 promises 来强制 sendcommand 函数等待 Getindex 完成,然后再继续它的其余任务。任何帮助将不胜感激
【问题讨论】:
-
同理
sendcommand被promisified,你也可以promisifygetIndex。
标签: javascript firebase promise async-await