How to implement Promise's then in async/await?How do I return the response from an asynchronous call?JavaScript Promise .then() and .catch firing at the same timeHow do JavaScript closures work?How can I upload files asynchronously?How do I check if an element is hidden in jQuery?How do I remove a property from a JavaScript object?How do I redirect to another webpage?How to check whether a string contains a substring in JavaScript?How do I remove a particular element from an array in JavaScript?How do I return the response from an asynchronous call?How and when to use ‘async’ and ‘await’Using async/await with a forEach loop
Is it okay / does it make sense for another player to join a running game of Munchkin?
How to be diplomatic in refusing to write code that breaches the privacy of our users
Will it be accepted, if there is no ''Main Character" stereotype?
Is the destination of a commercial flight important for the pilot?
How can I use the arrow sign in my bash prompt?
What't the meaning of this extra silence?
Is a roofing delivery truck likely to crack my driveway slab?
How does residential electricity work?
Was Spock the First Vulcan in Starfleet?
How could Frankenstein get the parts for his _second_ creature?
Generic lambda vs generic function give different behaviour
Do I need a multiple entry visa for a trip UK -> Sweden -> UK?
Products and sum of cubes in Fibonacci
Is there an Impartial Brexit Deal comparison site?
Implement the Thanos sorting algorithm
The baby cries all morning
What is the opposite of 'gravitas'?
Dot above capital letter not centred
How do I keep an essay about "feeling flat" from feeling flat?
Is there any reason not to eat food that's been dropped on the surface of the moon?
Is there any easy technique written in Bhagavad GITA to control lust?
What would be the benefits of having both a state and local currencies?
Hide Select Output from T-SQL
Go Pregnant or Go Home
How to implement Promise's then in async/await?
How do I return the response from an asynchronous call?JavaScript Promise .then() and .catch firing at the same timeHow do JavaScript closures work?How can I upload files asynchronously?How do I check if an element is hidden in jQuery?How do I remove a property from a JavaScript object?How do I redirect to another webpage?How to check whether a string contains a substring in JavaScript?How do I remove a particular element from an array in JavaScript?How do I return the response from an asynchronous call?How and when to use ‘async’ and ‘await’Using async/await with a forEach loop
I have a following async/await
method:
async todo()
const res = await axios.get('/todo')
getTodo()
this.todo()
Now, in async/await
, how do you know that request is completed (200)? In Promises, we simply use then
:
// store/todo.js
todo()
const res = axios(
method: 'GET',
url: '/todo'
)
return res
// components/Todo.vue
getTodo()
this.todo().then(res =>
console.log('Request Executed Successfully!')
)
This works perfectly but when I try to add async/await
in getTodo and execute something like this:
async todo()
try
const res = await axios.get('/todo')
return res
catch(e)
console.log(e)
async getTodo()
try
await this.todo()
console.log('Request Completed')
catch(e)
console.log(e)
Demo: https://jsfiddle.net/jfn483ae/
It just doesn't work. The log gets executed before the request is completed i.e. after some error has occured. Please help.
javascript asynchronous vue.js promise async-await
|
show 6 more comments
I have a following async/await
method:
async todo()
const res = await axios.get('/todo')
getTodo()
this.todo()
Now, in async/await
, how do you know that request is completed (200)? In Promises, we simply use then
:
// store/todo.js
todo()
const res = axios(
method: 'GET',
url: '/todo'
)
return res
// components/Todo.vue
getTodo()
this.todo().then(res =>
console.log('Request Executed Successfully!')
)
This works perfectly but when I try to add async/await
in getTodo and execute something like this:
async todo()
try
const res = await axios.get('/todo')
return res
catch(e)
console.log(e)
async getTodo()
try
await this.todo()
console.log('Request Completed')
catch(e)
console.log(e)
Demo: https://jsfiddle.net/jfn483ae/
It just doesn't work. The log gets executed before the request is completed i.e. after some error has occured. Please help.
javascript asynchronous vue.js promise async-await
Possible duplicate of How do I return the response from an asynchronous call?
– Ben Fortune
Mar 8 at 10:10
2
"The log gets executed before the request is completed. " — No, that won't happen.
– Quentin
Mar 8 at 10:10
1
jsbin.com/ropuwejomo/1/edit?html,js,console — I can't reproduce the problem.
– Quentin
Mar 8 at 10:13
I added a Vue Demo! Please check. There's error but still logs the result.
– Sanjay
Mar 8 at 10:34
1
@Sanjay — When you said "how do you know that request is completed?" did you mean to ask "How can you tell the difference between a request completing and an exception being thrown?"
– Quentin
Mar 8 at 10:42
|
show 6 more comments
I have a following async/await
method:
async todo()
const res = await axios.get('/todo')
getTodo()
this.todo()
Now, in async/await
, how do you know that request is completed (200)? In Promises, we simply use then
:
// store/todo.js
todo()
const res = axios(
method: 'GET',
url: '/todo'
)
return res
// components/Todo.vue
getTodo()
this.todo().then(res =>
console.log('Request Executed Successfully!')
)
This works perfectly but when I try to add async/await
in getTodo and execute something like this:
async todo()
try
const res = await axios.get('/todo')
return res
catch(e)
console.log(e)
async getTodo()
try
await this.todo()
console.log('Request Completed')
catch(e)
console.log(e)
Demo: https://jsfiddle.net/jfn483ae/
It just doesn't work. The log gets executed before the request is completed i.e. after some error has occured. Please help.
javascript asynchronous vue.js promise async-await
I have a following async/await
method:
async todo()
const res = await axios.get('/todo')
getTodo()
this.todo()
Now, in async/await
, how do you know that request is completed (200)? In Promises, we simply use then
:
// store/todo.js
todo()
const res = axios(
method: 'GET',
url: '/todo'
)
return res
// components/Todo.vue
getTodo()
this.todo().then(res =>
console.log('Request Executed Successfully!')
)
This works perfectly but when I try to add async/await
in getTodo and execute something like this:
async todo()
try
const res = await axios.get('/todo')
return res
catch(e)
console.log(e)
async getTodo()
try
await this.todo()
console.log('Request Completed')
catch(e)
console.log(e)
Demo: https://jsfiddle.net/jfn483ae/
It just doesn't work. The log gets executed before the request is completed i.e. after some error has occured. Please help.
javascript asynchronous vue.js promise async-await
javascript asynchronous vue.js promise async-await
edited Mar 8 at 11:08
Sanjay
asked Mar 8 at 10:08
SanjaySanjay
749120
749120
Possible duplicate of How do I return the response from an asynchronous call?
– Ben Fortune
Mar 8 at 10:10
2
"The log gets executed before the request is completed. " — No, that won't happen.
– Quentin
Mar 8 at 10:10
1
jsbin.com/ropuwejomo/1/edit?html,js,console — I can't reproduce the problem.
– Quentin
Mar 8 at 10:13
I added a Vue Demo! Please check. There's error but still logs the result.
– Sanjay
Mar 8 at 10:34
1
@Sanjay — When you said "how do you know that request is completed?" did you mean to ask "How can you tell the difference between a request completing and an exception being thrown?"
– Quentin
Mar 8 at 10:42
|
show 6 more comments
Possible duplicate of How do I return the response from an asynchronous call?
– Ben Fortune
Mar 8 at 10:10
2
"The log gets executed before the request is completed. " — No, that won't happen.
– Quentin
Mar 8 at 10:10
1
jsbin.com/ropuwejomo/1/edit?html,js,console — I can't reproduce the problem.
– Quentin
Mar 8 at 10:13
I added a Vue Demo! Please check. There's error but still logs the result.
– Sanjay
Mar 8 at 10:34
1
@Sanjay — When you said "how do you know that request is completed?" did you mean to ask "How can you tell the difference between a request completing and an exception being thrown?"
– Quentin
Mar 8 at 10:42
Possible duplicate of How do I return the response from an asynchronous call?
– Ben Fortune
Mar 8 at 10:10
Possible duplicate of How do I return the response from an asynchronous call?
– Ben Fortune
Mar 8 at 10:10
2
2
"The log gets executed before the request is completed. " — No, that won't happen.
– Quentin
Mar 8 at 10:10
"The log gets executed before the request is completed. " — No, that won't happen.
– Quentin
Mar 8 at 10:10
1
1
jsbin.com/ropuwejomo/1/edit?html,js,console — I can't reproduce the problem.
– Quentin
Mar 8 at 10:13
jsbin.com/ropuwejomo/1/edit?html,js,console — I can't reproduce the problem.
– Quentin
Mar 8 at 10:13
I added a Vue Demo! Please check. There's error but still logs the result.
– Sanjay
Mar 8 at 10:34
I added a Vue Demo! Please check. There's error but still logs the result.
– Sanjay
Mar 8 at 10:34
1
1
@Sanjay — When you said "how do you know that request is completed?" did you mean to ask "How can you tell the difference between a request completing and an exception being thrown?"
– Quentin
Mar 8 at 10:42
@Sanjay — When you said "how do you know that request is completed?" did you mean to ask "How can you tell the difference between a request completing and an exception being thrown?"
– Quentin
Mar 8 at 10:42
|
show 6 more comments
1 Answer
1
active
oldest
votes
The log gets executed […] after some error has occured.
Yes, in your new todo
method you catch
the error and then return undefined
as a normal result. Just don't use try
/catch
when you cannot handle the error, use the same code as you did orignally and the promise will work the same when you await
it:
todo()
return axios(
method: 'GET',
url: '/todo'
)
async getTodo()
try
await this.todo()
console.log('Request Completed')
catch(e)
console.log(e)
Seems a better way to do! Thanks!
– Sanjay
Mar 8 at 12:08
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55060918%2fhow-to-implement-promises-then-in-async-await%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
The log gets executed […] after some error has occured.
Yes, in your new todo
method you catch
the error and then return undefined
as a normal result. Just don't use try
/catch
when you cannot handle the error, use the same code as you did orignally and the promise will work the same when you await
it:
todo()
return axios(
method: 'GET',
url: '/todo'
)
async getTodo()
try
await this.todo()
console.log('Request Completed')
catch(e)
console.log(e)
Seems a better way to do! Thanks!
– Sanjay
Mar 8 at 12:08
add a comment |
The log gets executed […] after some error has occured.
Yes, in your new todo
method you catch
the error and then return undefined
as a normal result. Just don't use try
/catch
when you cannot handle the error, use the same code as you did orignally and the promise will work the same when you await
it:
todo()
return axios(
method: 'GET',
url: '/todo'
)
async getTodo()
try
await this.todo()
console.log('Request Completed')
catch(e)
console.log(e)
Seems a better way to do! Thanks!
– Sanjay
Mar 8 at 12:08
add a comment |
The log gets executed […] after some error has occured.
Yes, in your new todo
method you catch
the error and then return undefined
as a normal result. Just don't use try
/catch
when you cannot handle the error, use the same code as you did orignally and the promise will work the same when you await
it:
todo()
return axios(
method: 'GET',
url: '/todo'
)
async getTodo()
try
await this.todo()
console.log('Request Completed')
catch(e)
console.log(e)
The log gets executed […] after some error has occured.
Yes, in your new todo
method you catch
the error and then return undefined
as a normal result. Just don't use try
/catch
when you cannot handle the error, use the same code as you did orignally and the promise will work the same when you await
it:
todo()
return axios(
method: 'GET',
url: '/todo'
)
async getTodo()
try
await this.todo()
console.log('Request Completed')
catch(e)
console.log(e)
answered Mar 8 at 11:54
BergiBergi
379k63577911
379k63577911
Seems a better way to do! Thanks!
– Sanjay
Mar 8 at 12:08
add a comment |
Seems a better way to do! Thanks!
– Sanjay
Mar 8 at 12:08
Seems a better way to do! Thanks!
– Sanjay
Mar 8 at 12:08
Seems a better way to do! Thanks!
– Sanjay
Mar 8 at 12:08
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55060918%2fhow-to-implement-promises-then-in-async-await%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Possible duplicate of How do I return the response from an asynchronous call?
– Ben Fortune
Mar 8 at 10:10
2
"The log gets executed before the request is completed. " — No, that won't happen.
– Quentin
Mar 8 at 10:10
1
jsbin.com/ropuwejomo/1/edit?html,js,console — I can't reproduce the problem.
– Quentin
Mar 8 at 10:13
I added a Vue Demo! Please check. There's error but still logs the result.
– Sanjay
Mar 8 at 10:34
1
@Sanjay — When you said "how do you know that request is completed?" did you mean to ask "How can you tell the difference between a request completing and an exception being thrown?"
– Quentin
Mar 8 at 10:42