javascript - Asyncawait, "unresolved variable or type await" - Stack Overflow

let usersInAuth0 = [];for (let i = 0; i < 5; i++) {const usersInAuth0InPage = await getUsersFromA

    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. From the auth0 management API you can only get 100 user per page so I'm making several request until I have all users.

WebStorm gives the warning (on line 3): "unresolved variable or type await".

How am I suppose to use async/await in this situation?

    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. From the auth0 management API you can only get 100 user per page so I'm making several request until I have all users.

WebStorm gives the warning (on line 3): "unresolved variable or type await".

How am I suppose to use async/await in this situation?

Share Improve this question edited Apr 15, 2018 at 22:18 LazyOne 166k48 gold badges414 silver badges415 bronze badges asked Apr 15, 2018 at 19:38 JoeJoe 4,27432 gold badges106 silver badges180 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 7

In order to use await, the function it's inside needs to be 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./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.

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. (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)

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745208971a4616728.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信