【发布时间】:2020-10-22 19:53:58
【问题描述】:
我正在尝试访问 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() 返回空。
如何从promise方法中得到期望的字符串?
也就是说,如何在 Promise 方法中访问this?
更新:
我对 Promise 的返回值没有问题,请注意如何从返回 Promise 的类方法中访问类属性或值。
【问题讨论】:
-
你为什么在这里使用
Promise? -
@Antoni 这只是一个演示,
getName()将是一个发送请求或任何其他操作的方法。 -
@jonrsharpe 它是如何工作的?我想在Promise方法
getName()访问this.firstName
标签: javascript typescript promise es6-promise