тогда свойство не существует для типа void, ошибка машинописного текста

Код:

 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' работала, ура!


person Kanav Malik    schedule 01.08.2017    source источник
comment
Возможный дубликат тогда не существует в типе void в угловой 2   -  person eko    schedule 01.08.2017
comment
Я не могу разрешить свой запрос, так как не знаю, что следует передать в качестве параметров в функции сброса   -  person Kanav Malik    schedule 01.08.2017
comment
Это машинописный текст, а не javascript. Узнай разницу. Вещи типа void не имеют свойств   -  person smac89    schedule 01.08.2017
comment
Выложите пожалуйста код сброса пароля?   -  person Vivek Doshi    schedule 01.08.2017
comment
Можете ли вы добавить код из своей службы, что он возвращает?   -  person Steve    schedule 01.08.2017
comment
passwordreset (электронная почта) {var обещание = новое обещание ((resolve, reject) = ›{firebase.auth (). sendPasswordResetEmail (email) .then (() =› {resolve ({success: true});}). catch ((err) = ›{reject (err);}) вернуть обещание;}); } это сервис   -  person Kanav Malik    schedule 01.08.2017


Ответы (2)


Проблемы здесь с функцией 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);
}

Вы возвращали обещание внутри функции обещания, но не возвращали его из 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); 
                            }); 
        }); 
}
person Vivek Doshi    schedule 01.08.2017

Я справляюсь с этим

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=>{

  })


}); 


      }
person Expert Suggestion    schedule 17.09.2019