Help

Upcoming database upgrades. to improve our reliability at 03:30 UTC on Feb. 25 / 7:30pm PT on Feb. 24. Some users may briefly experience slow load times or error messages. Learn more here

Async functions work in automations scripts but not scripting app?

Topic Labels: Scripting extentions
Solved
Jump to Solution
839 4
cancel
Showing results for 
Search instead for 
Did you mean: 

I’ve written an automation script that I’d like to migrate over to the scripting app. I know that there are some differences between the two, but I’m having a lot more trouble than I thought. The script connects to an external API and pulls data from the API into my base. I seem to be running into issues with the async functions I’ve written to connect to the API and pull the data in. The code works when it’s not wrapped up in a function, but fails when it looks like the example below:

async function testFunction(){
let response = await fetch('https://api.github.com/orgs/Airtable');
console.log(await response.json());
}
testFunction();

This code above works as an automation script, but not in the scripting app.

1 Solution

Accepted Solutions

Await the testFunction() invocation?

See Solution in Thread

4 Replies 4

Await the testFunction() invocation?

You should await the testFunction, as Dominik mentioned.

Also, fetch works differently in automation scripts versus scripting app. Try using remoteFetchAsync instead of fetch. See the documentation for more details.

Adding await solved it, thanks! Kuovonne, I can see why remoteFetchAsync might work better on an automation since it’s coming from the Airtable server itself. Thanks to you both for the help!

Glad to hear your problem is fixed.

It’s actually the other way around. remoteFetchAsync is for use in scripting app, not in an automation script. It is most useful when fetch in scripting app causes CORS errors that don’t happen in automation scripts.