2016-11-23 3 views
0

Ich versuche, den Versprechen Wert in den Kopfzeilen übergeben, aber ich bin nicht in der Lage, dies zu tun.Übergabe des Versprechens an die Header

class test{ 

    constructor(auth_key,auth_secret){ 
    this.auth_key = auth_key; 
    this.auth_secret = auth_secret; 
    console.log("============In class test============"); 
    this.authtoken = this.init().then(function(value){ 
     return value; 
    }); 
    } 

    init(){ 
    console.log("============In init function============"+this.auth_key); 
    let postData = {}; 
    return this.requestStt('test','POST',postData).then((response) => { 
     if (response.status == 200) { 
      return response.body.then((response) => { 
       //console.log(response.token); 
       let apiResp = {stt_token:response.token} 
       return apiResp; 
      }); 
     }else { 
      console.log(response) 
     } 
    }); 
    } 

    gettoken(){ 
    console.log(this.authtoken) 
    var reqHeaders = new Headers({ 
     "Accept":"application/json", 
     "Content-Type": "application/json; charset=UTF-8", 
     "token":this.authtoken, 
     }); 
    } 
} 

Fehler erhalten, weil this.authtoken ein Versprechen-Objekt ist.

Kann mir bitte jemand helfen.

+0

tun, wie es 'steht gettoken' nichts tut, sondern schaffen 'reqHeaders' - was dann am Ende der Funktion verworfen wird, um zu helfen, wie wird die 'gettoken'-Funktion benutzt? –

+0

Ich werde Gettoken verwenden, um APIs über Fetch() zu schlagen, die Header –

+0

übergeben müssen, so dass der Code, um Apis zu treffen, in gettoken sein wird? - weil, wie gesagt, auch wenn es so ist, wenn authtoken "ok" war, gibt diese Funktion nichts zurück –

Antwort

1

wenn Sie umschreiben gettoken wie folgt:

gettoken(){ 
    return this.authtoken.then(function(token) { 
     return new Headers({ 
     "Accept":"application/json", 
     "Content-Type": "application/json; charset=UTF-8", 
     "token":token, 
     }); 
    }) 
} 

dann natürlich diese Header zu verwenden, müssten Sie so etwas wie

xxx.gettoken().then(function(headers) { 
    // whatever you do with headers goes here 
}); 
Verwandte Themen