Skip to content
This repository has been archived by the owner on Nov 27, 2023. It is now read-only.

How to list all the instruments #117

Open
liuhongbo opened this issue Dec 4, 2020 · 2 comments
Open

How to list all the instruments #117

liuhongbo opened this issue Dec 4, 2020 · 2 comments

Comments

@liuhongbo
Copy link

liuhongbo commented Dec 4, 2020

Code being executed:

rh.instruments('', (err, response, body) => {
            
            if (err){
                console.error(err);
            }
            else{
                
                if (body.next){
                   //which means has more pages , but how to retrieve the next page? it needs to pass a parameter cursor into the url 
                }
            }
        })

the instruments only get the first page of the instruments with the body.next has the url for next page, but seems there is no way to call the instruments method with the cursor parameter

@liuhongbo liuhongbo changed the title How do you list all the instruments How to list all the instruments Dec 4, 2020
@mafischer
Copy link
Contributor

@liuhongbo
here is a snippet of code that worked for me when using the next param to fetch more orders in the transaction history. Hopefully this helps you!

let orders = [];
let cursor = null;
let next = null;
do {
  try {
    const options = {};
    if (cursor) {
      options.cursor = cursor;
    }
    const { body } = await promisify(robinhood.orders)(options);
    orders = [...orders, ...body.results];
    if (body.next) {
      next = new URL(body.next);
      cursor = next.searchParams.get('cursor');
    } else {
      next = null;
    }
  } catch (err) {
    internal.log(err);
    cursor = null;
  }
} while (next !== null);

@mafischer
Copy link
Contributor

also, see url in documentation

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants