{"id":23122,"date":"2022-11-24T02:50:21","date_gmt":"2022-11-23T21:20:21","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\/"},"modified":"2022-11-24T02:50:21","modified_gmt":"2022-11-23T21:20:21","slug":"solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\/","title":{"rendered":"[Solved] Why does the code execute without waiting for await to return in dart\/flutter?"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-67133076\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"67133076\" data-parentid=\"66858958\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"js-endorsements\" data-for-answer=\"67133076\">\n<\/div>\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Taking a closer look at your Firebase function, I was able to identify two issues:<\/p>\n<ol>\n<li>Usage of both <code>await<\/code> and <code>then<\/code> keywords in the same function. These two statements do the same thing. Quoting this accepted answer.<\/li>\n<\/ol>\n<blockquote>\n<p><code>await<\/code> is just an internal version of <code>.then()<\/code> (doing basically the same thing). The reason to choose one over the other has to do with desired coding style or coding convenience. Certainly, the interpreter has a few more opportunities to optimize things<br \/>\ninternally with await, but it&#8217;s unlikely that should be how you decide which to use.<\/p>\n<\/blockquote>\n<p>In other words, it is an overhead to use both of them.<\/p>\n<ol start=\"2\">\n<li>The next piece of code returns results only in  the context of the <code>then<\/code> nested Promise which is not the same context of the Cloud Function Register. In other words, you receive a null value in flutter because the Cloud Function is not returning anything in its running context.<\/li>\n<\/ol>\n<pre><code>.then(() =&gt; {\n        console.log(\"done\")\n        return \"done\"\n      })\n.catch((error: any) =&gt; {\n        console.error(error.code);\n        return error.code\n<\/code><\/pre>\n<p>As I mentioned earlier, <code>then<\/code> and <code>await<\/code> are used for the same purpose, so you have two options to correct the code.<\/p>\n<p><strong>You can use <code>await<\/code>:<\/strong><\/p>\n<pre><code>exports.Register = functions.https.onCall(async (data, context) =&gt; {\n[...]\n try {\n      await admin.auth()\n        .createUser({\n            email: email,\n            emailVerified: false,\n            password: pass,\n            displayName: Name,\n            disabled: false,\n        });\n        return \"user successfully registered\";\n\n      \n    } catch (error) {\n      console.log(error);\n      return \"the function failed;check Cloud Logging for the reason\";\n    }\n}\n<\/code><\/pre>\n<p><strong>Or you can use <code>then<\/code>:<\/strong><\/p>\n<pre><code>exports.RegisterThen = functions.https.onCall((data, context) =&gt; {\n[...]\nreturn admin.auth()\n      .createUser({\n            email: email,\n            emailVerified: false,\n            password: pass,\n            displayName: Name,\n            disabled: false,\n        })\n          .then(() =&gt; {return  \"user successfully registered\"})\n          .catch(error =&gt; {\n            console.log(error);\n            return \"the function failed;check Cloud Logging for the reason\";\n          });\n}\n<\/code><\/pre>\n<p>Please notice how the function is defined with <code>async<\/code> when I use <code>await<\/code> and how <code>async<\/code> is <strong>not used<\/strong> if I am using the <code>then<\/code> function from Promises.<\/p>\n<p>I hope you find this useful<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">1<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Why does the code execute without waiting for await to return in dart\/flutter? <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Taking a closer look at your Firebase function, I was able to identify two issues: Usage of both await and then keywords in the same function. These two statements do the same thing. Quoting this accepted answer. await is just an internal version of .then() (doing basically the same thing). The reason to choose &#8230; <a title=\"[Solved] Why does the code execute without waiting for await to return in dart\/flutter?\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\/\" aria-label=\"More on [Solved] Why does the code execute without waiting for await to return in dart\/flutter?\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[847,980,846,3977],"class_list":["post-23122","post","type-post","status-publish","format-standard","hentry","category-solved","tag-dart","tag-firebase","tag-flutter","tag-google-cloud-functions"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>[Solved] Why does the code execute without waiting for await to return in dart\/flutter? - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Why does the code execute without waiting for await to return in dart\/flutter? - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Taking a closer look at your Firebase function, I was able to identify two issues: Usage of both await and then keywords in the same function. These two statements do the same thing. Quoting this accepted answer. await is just an internal version of .then() (doing basically the same thing). The reason to choose ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-23T21:20:21+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\\\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Why does the code execute without waiting for await to return in dart\\\/flutter?\",\"datePublished\":\"2022-11-23T21:20:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\\\/\"},\"wordCount\":240,\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"keywords\":[\"dart\",\"firebase\",\"flutter\",\"google-cloud-functions\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\\\/\",\"name\":\"[Solved] Why does the code execute without waiting for await to return in dart\\\/flutter? - JassWeb\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\"},\"datePublished\":\"2022-11-23T21:20:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Why does the code execute without waiting for await to return in dart\\\/flutter?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\\\/\\\/jassweb.com\"],\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/author\\\/jaspritsinghghumangmail-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Why does the code execute without waiting for await to return in dart\/flutter? - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Why does the code execute without waiting for await to return in dart\/flutter? - JassWeb","og_description":"[ad_1] Taking a closer look at your Firebase function, I was able to identify two issues: Usage of both await and then keywords in the same function. These two statements do the same thing. Quoting this accepted answer. await is just an internal version of .then() (doing basically the same thing). The reason to choose ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\/","og_site_name":"JassWeb","article_published_time":"2022-11-23T21:20:21+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Why does the code execute without waiting for await to return in dart\/flutter?","datePublished":"2022-11-23T21:20:21+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\/"},"wordCount":240,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["dart","firebase","flutter","google-cloud-functions"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\/","url":"https:\/\/jassweb.com\/solved\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\/","name":"[Solved] Why does the code execute without waiting for await to return in dart\/flutter? - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-11-23T21:20:21+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-why-does-the-code-execute-without-waiting-for-await-to-return-in-dart-flutter\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Why does the code execute without waiting for await to return in dart\/flutter?"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/23122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=23122"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/23122\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=23122"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=23122"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=23122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}