JavaScript Async

"async and await make promises easier to write"

اسکینکرونز تابع را به promise بازگردانید:

ایوائٹ تابع را به انتظار promise بگذارید:

نحوه استفاده از Async

کلمات کلیدی قبل از تابع اسکینکرونز تابع را به promise بازگردانید:

مثال

async function myFunction() {
  return "Hello";
}

معادل:

async function myFunction() {
  return Promise.resolve("Hello");
}

در اینجا روش‌های استفاده از Promise آورده شده است:

myFunction().then(
  function(value) { /* کد زمانی که موفق می‌شود */ },
  function(error) { /* کد زمانی که خطا رخ می‌دهد */ }
);

مثال

async function myFunction() {
  return "Hello";
}
myFunction().then(
  function(value) {myDisplayer(value);},
  function(error) {myDisplayer(error);}
);

خود کا تجربہ کریئن

یا ساده‌تر، زیرا شما انتظار دارید که مقدار عادی داشته باشد (پاسخ عادی، نه خطا):

مثال

async function myFunction() {
  return "Hello";
}
myFunction().then(
  function(value) {myDisplayer(value);}
);

خود کا تجربہ کریئن

نحوه استفاده از Await

کلمات کلیدی قبل از تابع ایوائٹ تابع را به انتظار promise بگذارید:

let value = await promise;

ایوائٹ کلمات کلیدی فقط می‌توانند اسکینکرونز در داخل تابع استفاده می‌شود.

مثال

بیایید به آرامی یاد بگیریم که چگونه از آن استفاده کنیم.

زبان پایه

async function myDisplay() {
  let myPromise = new Promise(function(myResolve, myReject) {
    myResolve("I love You !!");
  });
  document.getElementById("demo").innerHTML = await myPromise;
}
myDisplay();

خود کا تجربہ کریئن

ترجیح می‌دهم به تاخیر بیفتد

async function myDisplay() {
  let myPromise = new Promise(function(myResolve, myReject) {
    setTimeout(function() { myResolve("I love You !!"); }, 3000);
  });
  document.getElementById("demo").innerHTML = await myPromise;
}
myDisplay();

خود کا تجربہ کریئن

ترجیح می‌دهم فایل را

async function getFile() {
  let myPromise = new Promise(function(myResolve, myReject) {
    let req = new XMLHttpRequest();
    req.open('GET', "mycar.html");
    req.onload = function() {
      if (req.status == 200) {myResolve(req.response);}
      else {myResolve("File not Found");}
    };
    req.send();
  });
  document.getElementById("demo").innerHTML = await myPromise;
}
getFile();

خود کا تجربہ کریئن

سپورٹ براؤزر

ای سی ایم اے اسکریپٹ 2017 نے جسٹا اسکریپٹ کا کلیدی الفاظ لایا اسکینکرونز اور ایوائٹ.

موجودہ جدول میں دونوں کو پورا پورا پشتیبند بنانے والی پہلی براؤزر کی نسخے کو ملاحظہ کیاجاتا ہے:

کروم آئی ای فائر فاکس سافری آپریا
کروم 55 ایج 15 فائر فاکس 52 سافری 11 آپریا 42
2016 ستمبر 12 2017 اپریل 4 2017 مارچ 3 2017 ستمبر 9 2016 ستمبر 12