如何从函数中正确 return
How to correctly return from function
在我的例子中,如何正确地 return apiKey 从 User.ts createUser 函数到 Test.ts?
User.ts
interface User {
url: string,
name: string,
}
class User{
async createUser(
user: User
):Promise<void> {
let apiKey = await user.getUserApiKey(user.name);
console.log(`${user.name} api key - ${apiKey} received`);
return apiKey;
}
}
Test.ts
test("Smoke Test", async (t) => {
console.log(${apiKey} - User api key)
}
您可能必须将 Promise<void>
指定为正确类型的 apiKey。
它可能看起来像 Promise<String>
,或者将 return 类型规范留空(即从 createUser
方法中删除 : Promise<void>
)。
在 Test.ts 中,您必须先创建一个 User 对象,然后对该对象调用 createUser
方法。
test("Smoke Test", async (t) => {
let user = new User();
user.name = "theName";
user.url = "theURL";
let apiKey = await user.createUser(user);
console.log(${apiKey} - User api key)
}
看来,createUser
方法设计的不太好。是否有意使用(可能不同的)user
参数,尽管它是在用户对象上调用的?
在我的例子中,如何正确地 return apiKey 从 User.ts createUser 函数到 Test.ts?
User.ts
interface User {
url: string,
name: string,
}
class User{
async createUser(
user: User
):Promise<void> {
let apiKey = await user.getUserApiKey(user.name);
console.log(`${user.name} api key - ${apiKey} received`);
return apiKey;
}
}
Test.ts
test("Smoke Test", async (t) => {
console.log(${apiKey} - User api key)
}
您可能必须将 Promise<void>
指定为正确类型的 apiKey。
它可能看起来像 Promise<String>
,或者将 return 类型规范留空(即从 createUser
方法中删除 : Promise<void>
)。
在 Test.ts 中,您必须先创建一个 User 对象,然后对该对象调用 createUser
方法。
test("Smoke Test", async (t) => {
let user = new User();
user.name = "theName";
user.url = "theURL";
let apiKey = await user.createUser(user);
console.log(${apiKey} - User api key)
}
看来,createUser
方法设计的不太好。是否有意使用(可能不同的)user
参数,尽管它是在用户对象上调用的?