I just learnt "async" that "async" ensures that the function returns promise then i tried to make a promise with writing "async" instead of writing "new Promise" and it didn't work out so i want to know is it wrong syntax or it will never work out and i will have to write only new promise?
// This is a code
async function gets(){
let gets1 = async()=>{
return 45;
}
gets1.then((value)=>{
console.log(value, "inside gets1")
})
}
gets()
CodePudding user response:
As already pointed out, you need to call a function fn().then(
, not just reference it fn.then(
.
Also if you don't use the await
, you also don't need the wrapping await
const gets = () => {
const gets1 = async() => {
return 45;
}
gets1().then((value) => {
console.log(value, "inside gets1")
})
};
gets();
Or use await
to get rid of Promise.then()
:
const gets = async () => {
const gets1 = async() => {
return 45;
};
const value = await gets1();
console.log(value, "inside gets1")
};
gets();
Make sure to read top to bottom: async Function
CodePudding user response:
You forgot to call the function
It should be gets1().then()
and not gets1.then()
async function gets(){
let gets1 = async()=>{
return 45;
}
gets1().then((value)=>{
console.log(value, "inside gets1")
})
}
gets()
CodePudding user response:
The whole thing will work without the outer async
function too:
let gets1 = async()=>"msg from gets1";
gets1().then(console.log)