![](/img/trans.png)
[英]Aurelia dialog & Typescript async await - Cannot find name 'await'
[英]await (async ():Type => {return value})() :: error Cannot find name 'await'.ts(2304)
// Does not work - Cannot find name 'await'.ts(2304)
let someVariable = await (async ():someType => {
// i need to use await inside here so i need it async
return someValue;
})();
// does work, but not async.
let someVariable2 = (():someType => {
// cant use await inside
return someValue
})();
我尝试将 await 包裹在另一组弧形括号内,仍然无法正常工作。 是的,我知道我可以声明一个 function 然后像往常一样调用它,但我宁愿这样。 如果不可能,则将 go 恢复正常。
我不完全知道()
在这种情况下会做什么,但我假设它会返回 object 内部。 可以像这样使用 async/await 吗? 如果可能的话,还想了解更多关于()
在这种情况下如何工作的信息。
代码在 Deno 上运行
编辑:人们说“必须在异步块内使用等待” Deno 具有顶级等待。
澄清。
// this is top-level
async function somefunc() {}
await somefunc(); // this WORKS on deno.
问题是let var = await(async () => {})()
创建了上述错误,我试图找到一种方法来解决这个问题,而不是声明然后等待它
Await 必须在异步 function 中调用。
const aFunc = async () =>{ let someVariable = await (async ():someType => { const someValue = await asyncFunc() return someValue; })(); // Now you get the value console.log(someVariable) } aFunc()
现在您可以调用aFunc
function 使其工作
await
只能在异步块内。 确保外部 await 也在异步块中,或者您可以将 promise 保存在someVariable中。
let someVariable = (async ():someType => {
return someValue;
})();
someVariable.then((result) => {
// result contains whatever u returned in the async block.
})
const someVariable = (async () => { const result = await Promise.resolve('Hey there;') return result. })() someVariable.then(result => console.log({ result }))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.