TypeScript中的异步响应
我正在使用typescript对服务器进行查询并从中获得响应 这是我的密码:TypeScript中的异步响应,typescript,promise,Typescript,Promise,我正在使用typescript对服务器进行查询并从中获得响应 这是我的密码: allDialogUser(objet): Promise<string> { var dialogs; this.http.post(this.serverAddress + this.chat + this.alldialoguser, objet) .toPromise() .then(data => { dialogs =
allDialogUser(objet): Promise<string> {
var dialogs;
this.http.post(this.serverAddress + this.chat + this.alldialoguser, objet)
.toPromise()
.then(data => {
dialogs = data.dialogs;
return dialogs;
});
}
allDialogUser(objet):承诺{
变量对话框;
this.http.post(this.serverAddress+this.chat+this.alldialoguser,objet)
.toPromise()
。然后(数据=>{
dialogs=data.dialogs;
返回对话框;
});
}
及
async ngOnInit():Promise{
this.mesConversations=等待this.api.allDialogUser({“id_offre”:1,“is_offre”:false});//修饰符
}
我知道,allDialogUser收到响应,问题是,ngOnInit似乎没有等待响应,并且mesConversations属性未定义。
allDialogUser
没有返回承诺,因此没有什么需要等待的。
您可以简单地返回创建的承诺
function allDialogUser(objet): Promise<string> {
return this.http.post(this.serverAddress + this.chat + this.alldialoguser, objet)
.toPromise()
.then(data => data.dialogs);
}
async function ngOnInit(): Promise<void> {
this.mesConversations = await this.api.allDialogUser({"id_offre":1, "is_offre":false});
}
函数allDialogUser(objet):承诺{
返回this.http.post(this.serverAddress+this.chat+this.alldialoguser,objet)
.toPromise()
.然后(data=>data.dialogs);
}
异步函数ngOnInit():Promise{
this.mesConversations=等待this.api.allDialogUser({“id_offre”:1,“is_offre”:false});
}
我在Typescript中创建了一个非常简单的概念证明:
但你最有可能从阅读期票中获益:
allDialogUser
不会返回任何内容,就像返回对话框一样代码>包含在箭头函数中。您可能想等待您的http.post
-承诺返回然后
函数的结果。您的意思是我应该放置返回对话框?我试过了,但它仍然没有等待响应。这是吗?
function allDialogUser(objet): Promise<string> {
return this.http.post(this.serverAddress + this.chat + this.alldialoguser, objet)
.toPromise()
.then(data => data.dialogs);
}
async function ngOnInit(): Promise<void> {
this.mesConversations = await this.api.allDialogUser({"id_offre":1, "is_offre":false});
}