Zum Hauptinhalt springen

Iterators.foreach

Mit der Iterators.foreach Funktion, können documents Iterators-Klassen durch iteriert werden.

Iterators.foreach(iterable, callback: (item, index) => void, count?: number);

Folgende Iteratoren werden unterstützt:

  • AccessProfileIterator
  • ArchiveConnectionBlobIterator
  • ArchiveFileResultset
  • ArchiveServerIterator
  • ControlFlowIterator
  • CustomPropertyIterator
  • DocumentIterator
  • FileResultset
  • FolderIterator
  • HitResultset
  • RegisterIterator
  • SystemUserIterator
  • WorkflowStepIterator
tipp

Alle Funktionen sind hier beschrieben.

Beispiel FileResultset

context.enableModules();
const { Iterators } = require("ou.sp.Iterators");

const files = new FileResultset(fileType, filter, sortOrder);

Iterators.foreach(files, (file, index) => {
const id = file.getid();
util.out("Iterating file " + id + " at index " + index);
})

Beispiel SystemUserIterator

context.enableModules();
const { Iterators } = require("ou.sp.Iterators");

const users = context.getSystemUsers();

// Iterate through 10 users
Iterators.foreach(users, (user, index) => {
util.out("Iterating user " + user.login + " at index " + index);
}, 10);

Beispiel FolderIterator

context.enableModules();
const { Iterators } = require("ou.sp.Iterators");

const folders = context.getFoldersByName("Inv*");;

Iterators.foreach(folders, (folder, index) => {
util.out("Iterating folder " + folder.name + " at index " + index);
})

Iterationen beschränken

Über den dritten Parameter count kann, die Iteration beschränkt werden. Wird 10 angegeben, wird der Callback maximal 10x aufgerufen.

Iterators.foreach(iterable, callback: (item, index) => void, count?: number);

Beispiel:

context.enableModules();
const { Iterators } = require("ou.sp.Iterators");

const users = context.getSystemUsers();
Iterators.foreach(users, (user, index) => {
util.log(user.login + " at " + index);
}, 10);