[英]Async/await, “unresolved variable or type await”
let usersInAuth0 = [];
for (let i = 0; i < 5; i++) {
const usersInAuth0InPage = await getUsersFromAuth0(i); // error in WebStorm
if (_.isEmpty(usersInAuth0InPage)){
return res.status(200).send(usersInAuth0);
} else {
usersInAuth0.push(usersInAuth0InPage);
}
}
const getUsersFromAuth0 = async (page) => {
return await management.getUsers({per_page:100, page: page})
}
Trying to use async/await. 试图使用async / await。 From the auth0 management API you can only get 100 user per page so I'm making several request until I have all users.
从auth0管理API,你每页只能获得100个用户,所以我要多次请求,直到我拥有所有用户。
WebStorm gives the warning (on line 3): "unresolved variable or type await". WebStorm发出警告(第3行):“未解析的变量或类型等待”。
How am I suppose to use async/await in this situation? 在这种情况下,我怎么想使用async / await?
In order to use await
, the function it's inside needs to be async
. 为了使用
await
,它内部的函数需要是async
。 For example: 例如:
(async () => {
let usersInAuth0 = [];
for (let i = 0; i < 5; i++) {
const usersInAuth0InPage = await getUsersFromAuth0(i); // error in webstorm
if (_.isEmpty(usersInAuth0InPage)){
return res.status(200).send(usersInAuth0);
} else {
usersInAuth0.push(usersInAuth0InPage);
}
}
const getUsersFromAuth0 = page => management.getUsers({per_page:100, page: page});
})();
https://codereviewvideos.com/blog/unresolved-variable-type-await/ https://codereviewvideos.com/blog/unresolved-variable-type-await/
Note that since management.getUsers
returns a Promise, you don't need to make getUsersFromAuth0
async - just return the promise and await
its resolution higher up. 请注意,由于
management.getUsers
返回Promise,因此您无需使getUsersFromAuth0
异步 - 只需返回promise并await
其解析更高。
Because async
functions return promises, you'll need to make sure that whatever consumes this whole code block is able to handle the its return value being a promise. 因为
async
函数返回promises,所以你需要确保消耗这整个代码块能够处理它的返回值是一个promise。 (your return res.status(200).send(usersInAuth0);
won't actually return that value - the function will return a promise that resolves to that value, should the conditional it's inside be fulfilled) (你的
return res.status(200).send(usersInAuth0);
实际上不会返回该值 - 如果满足条件,函数将返回一个解析为该值的promise
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.