如何避免 Superagent 响应解析异步函数

How to avoid Superagent response resolving the async function

我有一个带有请求(超级代理)的异步函数。每次请求的响应返回时,整个功能都会立即解决。我怎样才能避免这种行为? :/

getToken: async ()  => {

        
            await request
                .post('https://tokenAdress')
                .field('client_id', process.env.CLIENT_ID)
                .field('client_secret', process.env.CLIENT_SECRET)
                .field('grant_type', 'client_credentials')
                .then( (response) => {

                         // do some stuff with response
                         return resultOfStuffDone;
                }).catch( err => {
                    
                    throw new Error(errorMessages.couldNotGetToken);
                })
 }

和...

async () => {

        let bla = await ApiEndpoints.getToken();

        console.log(bla); // undefined 

}

如果有人能提供帮助,我们将不胜感激。

getToken: async ()  => {

    
        let response = await request
            .post('https://tokenAdress')
            .field('client_id', process.env.CLIENT_ID)
            .field('client_secret', process.env.CLIENT_SECRET)
            .field('grant_type', 'client_credentials')
            .catch( err => {
                
                throw new Error(errorMessages.couldNotGetToken);
            })
     if(response !== undefined){
     //do something
      return resultOfStuffDone
     }
  }

当您使用 await 时,可以将值分配给变量,而不是使用 then。