php*_*_qq 1 javascript async-await typescript
所以我理解async/await背后的想法只是使用promises的一种更漂亮的方式,但显然我并没有正确理解它.
async function a(): Promise <number> {
return 5;
}
Run Code Online (Sandbox Code Playgroud)
这很好,返回一个用结果5解决的promise.
async function a(): Promise <number> {
return await new Promise(resolve => {
resolve(5);
});
}
Run Code Online (Sandbox Code Playgroud)
错误TS2322:类型"{}"不能分配给"数字"类型.
类型"{}"中缺少属性"包含".
根据我的理解,等待将等待承诺解决并返回结果,在这种情况下为5,应该如上例所示?
默认情况下new Promise()相当于new Promise<{}>.
你内心的Promise不是一个数字,而是一个对象.您需要确保编译器它是具有类型编号的Promise.
替换await new Promise为await new Promise<number>
async function a(): Promise<number> {
return await new Promise<number>(resolve => {
resolve(5);
});
}
Run Code Online (Sandbox Code Playgroud)
并检查你的代码,我认为你可以在没有中间Promise的情况下使用你的代码
async function a(): Promise<number> {
return await 5;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1735 次 |
| 最近记录: |