Read the statement by Michael Teeuw here.
Async Functions inside node_helper.js
-
I wrote a little MagicMirror module which web scrapes a website with puppeteer.
Therefore I’ve used async functions to fetch the data.
It’s working fine but as soon as I send it back to my main.js file it appears as a Promise and I can’t process the data.Any suggestions how to wait for the data before sending it to the main.js file?
... socketNotificationReceived : function(notification, payload) { var self = this switch(notification) {case"CASE_1": text = scrape("https...") this.sendSocketNotification("text",text) break}} ... async function scrape(url){ try{ const browser = await puppeteer.launch() const page = await browser.newPage(); await page.goto(url) const [el] await page.$x("...") const txt = await el.getProperty("textContent") const rawTxt = await txt.jsonValue browser.close() return rawTxt} catch { return "ERROR"}} -
-
@magmirusr you will have to do promise.then in the non-async method to wait for the data
-
Hence I’ve utilized async capacities to get the information.
It’s turned out great however when I send it back to my main.js record it shows up as a Promise and I can’t handle the information.
Thanks.
Aaki working at Bizzeonine -
case "CASE_1": scrape("...").then((text) => { this.sendSocketNotification("text", text) }) breakOr
case "CASE_1" const AsyncJob = async () => { var text = await scrape("...") this.sendSocketNotification("text", text) } AsyncJob() break -
@mmrize
Thank you very much!!! It’s working now. :) -
K kayakbabe referenced this topic on
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login