Forum Discussion
Syndicate_Admin
Administrator
4 years agoAjustar List.Generate Code para limitar el bucle
Tengo el siguiente código: Pages = List.Generate(() =>
CallAPI(endpoint, "1"),
each HasContToken(Value.Metadata(_)),
each try CallAPI(
...
Syndicate_Admin
Administrator
4 years agoHola
Pruebe algo en este sentido:
Pages = List.Generate(
() => [APIResult = CallAPI(endpoint, "1"), Counter = 1],
each [Counter] < 10,
each
[
APIResult =
try CallAPI(
endpoint,
Text.Split(Text.Split(Value.Metadata([APIResult])[next_page], "?page="){1}, "&"){0}
)
otherwise null,
Counter = [Counter] + 1
],
each [APIResult]
),
- La idea básica es cambiar los argumentos "inicial" y "siguiente" para que devuelvan registros que contengan dos campos, APIResult y Counter.
- En el argumento "condición", se puede hacer referencia a [Contador] como un campo.
- En el argumento "siguiente"
- También se hace referencia a [Contador] para incrementarlo.
- La referencia a _ se cambia a [APIResult] ya que solo queremos ese campo.
- A continuación, se agrega un 4º argumento "selector" a List.Generate que selecciona [APIResult] como el valor que se devolverá realmente como un elemento de la lista.
¡Espero que lo anterior funcione y no haya cometido errores de sintaxis!
Saludos
Owen