我是JavaScript / TypeScript Promise返回类型的新手。
问题是我托管了一个REST API终结点,该终结点在内部从另一个服务中调用另一个API,该服务使用JS Request模块返回一个Promise对象。
我想打开内部API承诺响应,并创建一个新的普通Typescript对象,最后返回新的修改后的响应对象,而不是Promise。
这是描述我的问题的示例代码:
export class SampleClass {
public process(): NewResponse {
const newResponse: NewResponse = new NewResponse();
// invokeOtherAPI() call Returns a Promise by invoking a different endpoint
invokeOtherAPI().then(function (result) {
newResponse.propertyOne = result.propertyOne;
newResponse.propertyTwo = result.propertyTwo;
});
return newResponse;
}}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,虽然在then()内部分配了process(),但它仍返回一个空值。
这是我的REST API控制器类(缺少路径装饰器)
export class SampleController() {
const service: SampleClass = new SampleClass();
public get(): NewResponse {
return service.process();
}
}
Run Code Online (Sandbox Code Playgroud)
问题:
感谢您对此的任何帮助。