Always await functions that return promises to ensure proper asynchronous execution and avoid potential race conditions or unexpected behavior. When converting from promise chains to async/await, verify that all promise-returning function calls include the await keyword.
Always await functions that return promises to ensure proper asynchronous execution and avoid potential race conditions or unexpected behavior. When converting from promise chains to async/await, verify that all promise-returning function calls include the await keyword.
Common mistake: Calling a promise-returning function without await, which can lead to unhandled promises and timing issues.
// ❌ Incorrect - missing await
export const showDialogAndCreateSpec = async () => {
const cfg = openProject.getConfig()
const path = await showSaveDialog(cfg.integrationFolder)
if (path) {
createFile(path) // Missing await - promise not handled
}
}
// ✅ Correct - properly awaited
export const showDialogAndCreateSpec = async () => {
const cfg = openProject.getConfig()
const path = await showSaveDialog(cfg.integrationFolder)
if (path) {
await createFile(path) // Properly awaited
}
}
This is especially important when refactoring from promise chains (.then()) to async/await syntax, as it’s easy to overlook promise-returning functions that need to be awaited.
Enter the URL of a public GitHub repository