如何从函数中正确 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 参数,尽管它是在用户对象上调用的?