[英]property then does not exist on type void , A typescript error
碼:
reset(){
let alert = this.AlertCtrl.create({
buttons :['ok']
});
this.userservice.passwordreset(this.email).then((res: any)=>{
if(res.success){
alert.setTitle('Email sent');
alert.setSubTitle('please follow the instructions in the email to reset the password')
}
else{
alert.setTitle('failed');
}
})
}
錯誤:
然后,屬性在void類型上不存在,打字稿錯誤
有人可以通過更正此代碼段來幫助我,以便'then'函數起作用!
這里的問題是passwordreset()
函數,
它應該看起來像這樣:
passwordreset(): Promise<any> {
// this should return a promise
// make sure , you are returning promise from here
return this.http.get(url)
.toPromise()
.then(response => response.json().data)
.catch(this.handleError);
}
您正在返回promise函數中的promise,但沒有從
passwordreset()
返回它,
請查看您的代碼和更新的代碼,您將了解
您的代碼:
passwordreset(email)
{
var promise = new Promise((resolve,reject)=>{
firebase.auth().sendPasswordResetEmail(email).then(()=>{
resolve({success :true});
})
.catch((err)=>{
reject(err);
})
return promise;
});
}
更新的代碼:
passwordreset(email): Promise<any>
{
return new Promise((resolve,reject)=>{
firebase.auth().sendPasswordResetEmail(email).then(()=>{
resolve({success :true});
})
.catch((err)=>{
reject(err);
});
});
}
我使用這個
singlesender(data){
return new Promise((resolve,reject)=>{
this.userService.getAccessToken().then(accesstokendata=>{
this.accesstoken=accesstokendata;
console.log(this.accesstoken);
console.log("hello");
console.log("hello2");
let dataToSend = new HttpParams()
.set("senderidforme", data.senderidforme)
let header = new HttpHeaders()
.set("Content-type", "application/x-www-form-urlencoded")
.set("Authorization", "Bearer "+this.accesstoken);
return this.get(SERVER_URL+"web/v2/user-message-unreadcountsignle", dataToSend, header);
})
.catch(error=>{
})
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.