راکت

مثال پیاده سازی برنامه نویسی موازی در جاوا اسکریپت

4 پاسخ

سلام
الگوریتم زیر رو ببینید:

async function one(){

}

function two(){

}

function three(){

}

function run(){
    await one();
    two();

    three();
}

run();

در بالا run باید با شروط زیر اجرا شود:

  1. تابع one حتما باید اجرا شود و تابع two به این تابع مربوط است.
  2. تابع three بدون توجه به one و two اجرا می شود. یعنی تابع one و three با هم اجرا و سپس تابع two پس از اعلام نتیجه تابع one اجرا می شود.
  3. در نهایت پس از اجرا شدن هر سه تابع یک عملیات معینی انجام می شود.

برای پیاده سازی الگوریتم فوق چه کاری باید انجام داد؟

mahdi
mahdi
@esmahdim
ثبت پرسش جدید

پاسخ‌ها

4
mahdi
mahdi
@esmahdim

تخصص: برنامه نویس ...

سلام
لطفا اگر الگوریتم فوق الذکر امکان پذیر نیست اعلام کنید تا بدونم.
ممنون

حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

درود بر شما این کد رو اصلا از کجا گرفتید
شما نمیتونید در تابعی که async نیست از await استفاده کنید پس همین اول کدتون اشتباه هست !

شاید پاسخ شما همین‌جا باشد

میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

تابع one ناهمگام هستش، پس تابع run هم ناهمگام باید باشه.
اگر تابع three بدون توجه به one و two اجرا میشه، خب در run بزاریدش بالاتر از این دو تابع (البته اینکه پس از این دو باشه هم اهمیتی نداره).

async function one() {

}

function two() {

}

function three() {

}

async function run() {
    await one();
    two(); 
    three();
}

run();
ali mohammadzadeh
ali mohammadzadeh
@alimohammadzade662

تابع one و three به صورت همزمان اجرا میشن و وقتی انجام بشن تابع two اجرا میشه .

async function run() {
   await Promise.allSettled([one(),three()])
  two();
}

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام