Assuming the DOM changes in some way, you can wait for a specific element or selector.
Maybe an image appears.
await myButton.click();
await page.waitForSelector('img.success');
Maybe some element with an ID attribute is inserted into the DOM.
await myButton.click();
await page.waitForSelector('#newElementThatAppeared');
If you're unfamiliar with DOM selectors, you can read up here and here. They're powerful and easy to use.
Update - Custom wait predicate.
If we always know the length...
await myButton.click();
await page.waitFor(() => document.querySelectorAll('ul.specialList li').length > 5);
If we know the length will increase
const listSize = await page.evaluate(() => document.querySelectorAll('ul.specialList li').length);
await myButton.click();
await page.waitFor(() => document.querySelectorAll('ul.specialList li').length > listSize);