Skip to content

Instantly share code, notes, and snippets.

@openroc
Created September 3, 2022 14:37
Show Gist options
  • Save openroc/81822c26a9e701c7006e8a15e7523b44 to your computer and use it in GitHub Desktop.
Save openroc/81822c26a9e701c7006e8a15e7523b44 to your computer and use it in GitHub Desktop.
// Simple sample for explaining the resolve and reject of Promise
async function test(flag) {
//
return new Promise((resolve, reject)=>{
if(flag) {
resolve(0)
} else {
reject(-1)
}
})
}
async function main() {
// 1. use then/catch
test(true).then((rc)=>{
console.log('1.resolve', rc)
}).catch((err)=>{
console.log('1.reject', err)
})
test(false).then((rc)=>{
console.log('1.resolve', rc)
}).catch((err)=>{
console.log('1.reject', err)
})
// 2. use await/catch
let rc
try{
rc = await test(true) // resolve
console.log('2.resolve', rc)
} catch(err) {
console.log('2.reject', err)
}
try{
rc = await test(false) // reject
console.log('2.resolve', rc)
} catch(err) {
console.log('2.reject', err)
}
}
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment