TypeScript 如何访问 promise 方法中的字段
TypeScript How to access field in promise method
我正在尝试访问 promise 方法中的字段。
代码如下:
// Import stylesheets
import './style.css';
export class User{
firstName:string;
lastName:string;
constructor(){
this.firstName = "Tom";
this.lastName = "Jack";
this.getName = this.getName.bind(this);
}
getName():Promise<string>{
return new Promise((resolve,reject) =>{
return resolve(`My Name is ${this.firstName} ${this.lastName}`);
}) ;
}
}
export class UserApi{
userName:string;
getUserName():string{
let user = new User();
user.getName().then(name => {
return name;
});
return '';
}
}
// Write TypeScript code!
const appDiv: HTMLElement = document.getElementById('app');
appDiv.innerHTML = `<h1>TypeScript Starter</h1>`;
let user = new UserApi();
appDiv.append('This is ' + user.getUserName());
user.getUserName()
return空了。
如何从 promise 方法中获取预期的字符串?
换句话说,如何在Promise方法中访问this
?
更新:
我对 Promise 的 return 值没有问题,请注意如何访问 class 属性 或 [=30= 的值] 方法是 return Promise
.
您应该 return 来自 getUserName 方法的承诺。像这样:
getUserName(){
let user = new User();
return user.getName().then(name => {
return name;
});
}
如果你只是想return上面的名字,你不需要“then”:
return user.getName();
当您使用 getUserName 方法时,您需要处理 promise。像这样:
let user = new UserApi();
user.getUserName().then((name) => {
appDiv.append('This is ' + name);
});
我正在尝试访问 promise 方法中的字段。
代码如下:
// Import stylesheets
import './style.css';
export class User{
firstName:string;
lastName:string;
constructor(){
this.firstName = "Tom";
this.lastName = "Jack";
this.getName = this.getName.bind(this);
}
getName():Promise<string>{
return new Promise((resolve,reject) =>{
return resolve(`My Name is ${this.firstName} ${this.lastName}`);
}) ;
}
}
export class UserApi{
userName:string;
getUserName():string{
let user = new User();
user.getName().then(name => {
return name;
});
return '';
}
}
// Write TypeScript code!
const appDiv: HTMLElement = document.getElementById('app');
appDiv.innerHTML = `<h1>TypeScript Starter</h1>`;
let user = new UserApi();
appDiv.append('This is ' + user.getUserName());
user.getUserName()
return空了。
如何从 promise 方法中获取预期的字符串?
换句话说,如何在Promise方法中访问this
?
更新:
我对 Promise 的 return 值没有问题,请注意如何访问 class 属性 或 [=30= 的值] 方法是 return Promise
.
您应该 return 来自 getUserName 方法的承诺。像这样:
getUserName(){
let user = new User();
return user.getName().then(name => {
return name;
});
}
如果你只是想return上面的名字,你不需要“then”:
return user.getName();
当您使用 getUserName 方法时,您需要处理 promise。像这样:
let user = new UserApi();
user.getUserName().then((name) => {
appDiv.append('This is ' + name);
});