所以我必须创建一个函数:
const someData = await this.someservice.generateData();
现在,在 generateData()
中:
generateData(){
try{
const d1= await this.someServerCall();
const d2 = await this.someServerCall2();
// resolve promise with this data
return {
obj1: d1,
obj2: d2
}
} catch(e){
// reject Promise
}
}
我无法理解如何将其包裹在里面:
return new Promise(function (resolveFunc, rejectFunc) {
resolveFunc(some_data)
rejectFunc(error);
}
以便通过调用 await this.someservice.generateData();
获取数据当我将 serverCalls 放入 Promise
时,我得到 Untyped function calls may not accept type arguments.t
答案 0 :(得分:1)
您只需将 generateData 声明为异步函数即可。
async generateData(){
try{
const d1= await this.someServerCall();
const d2 = await this.someServerCall2();
// resolve promise with this data
return {
obj1: d1,
obj2: d2
}
} catch(e){
// reject Promise
}
之后你可以用 await 调用它。