twitter-v2 icon indicating copy to clipboard operation
twitter-v2 copied to clipboard

await is only valid in async function

Open adamcoulombe opened this issue 4 years ago • 2 comments

Description

await is only valid in async function when running getting started example in readme

Steps to Reproduce

create a node app with the following code (copied from readme):

const Twitter = require('twitter-v2');

const client = new Twitter({
    bearer_token:  //bearer_token

  });

const { data } = await client.get('tweets', { ids: '1228393702244134912' });
console.log(data);

Expected behavior:

should log the output of the tweet

Actual behavior:

console error: await is only valid in async function

Reproduces how often:

100%

Versions

^1.1.0

Additional Information

adamcoulombe avatar Apr 23 '21 14:04 adamcoulombe

Await constant needs to go in an async function in order for it to work like so:

async function getTweets(){
    const { data } = await client.get('tweets', { ids: '1228393702244134912' });
    return data
}
getTweets().then(tweets=>{
    console.log(tweets);
});

Docs should really be updated to reflect this since it errors out of the box with the example that is given

adamcoulombe avatar Apr 23 '21 15:04 adamcoulombe

If the file has a .mjs extension and import is used instead of require, then top-level await is allowed:

import Twitter from 'twitter-v2'

...

const { data } = await client.get('tweets', { ids: '1228393702244134912' })
console.log(data)

hubgit avatar Aug 13 '21 08:08 hubgit