Node. js v19. 4. 0 مستندات

ساخت وبلاگ

Node: Module readline رابط کاربری برای خواندن داده ها از یک جریان قابل خواندن (مانند Process. Stdin) یک خط را در یک زمان فراهم می کند.

برای استفاده از API های مبتنی بر وعده:

برای استفاده از پاسخ به تماس و API های همگام سازی:

مثال ساده زیر استفاده اصلی از گره را نشان می دهد: ماژول readline.

پس از فراخوانی این کد ، برنامه node. js تا زمانی که readline. interface بسته نشود خاتمه نمی یابد زیرا رابط منتظر دریافت داده ها در جریان ورودی است.

کلاس: InterfaceConstructor #

  • گسترش می یابد:

نمونه های کلاس بین سازنده با استفاده از روش readlinepromises. createinterface () یا readline. createinterface () ساخته می شوند. هر نمونه با یک جریان قابل خواندن ورودی واحد و یک جریان قابل چاپ خروجی همراه است. جریان خروجی برای چاپ سریع برای ورودی کاربر که وارد جریان می شوند ، استفاده می شود و از جریان ورودی خوانده می شود.

رویداد: "بستن" #

هنگام وقوع یکی از موارد زیر ، رویداد "نزدیک" منتشر می شود:

  • روش rl. close () نامیده می شود و نمونه بین سازنده کنترل کنترل بر جریان های ورودی و خروجی را از دست داده است.
  • جریان ورودی رویداد "پایان" خود را دریافت می کند.
  • جریان ورودی Ctrl + D را به سیگنال پایان انتقال (EOT) دریافت می کند.
  • جریان ورودی Ctrl + C را برای سیگنال سیگینت دریافت می کند و هیچ شنونده رویداد "sigint" وجود ندارد که در نمونه بین سازنده ثبت شده است.

عملکرد شنونده بدون تصویب هیچ استدلالی خوانده می شود.

پس از انتشار رویداد "نزدیک" ، نمونه InterfaceConstructor به پایان رسید.

رویداد: "خط" #

رویداد "خط" هر زمان که جریان ورودی یک ورودی انتهای خط ( n ، r یا r n) دریافت می کند ، منتشر می شود. این معمولاً زمانی اتفاق می افتد که کاربر وارد یا بازگردد.

اگر داده های جدید از یک جریان خوانده شده باشد و این جریان بدون نشانگر نهایی خط پایان می یابد ، رویداد "خط" نیز منتشر می شود.

تابع شنونده با یک رشته حاوی خط واحد ورودی دریافت شده است.

رویداد: "تاریخ" #

رویداد "تاریخ" هر زمان که آرایه تاریخ تغییر کرده است منتشر می شود.

عملکرد شنونده با آرایه ای حاوی آرایه تاریخ خوانده می شود. این همه تغییرات ، خطوط اضافه شده و خطوط حذف شده را به دلیل اندازه گیری و حذف نسخه های مختلف منعکس می کند.

هدف اصلی این است که به شنونده اجازه می دهد تا تاریخ را ادامه دهد. همچنین برای شنونده امکان تغییر شیء تاریخ را فراهم می کند. این می تواند برای جلوگیری از اضافه شدن خطوط خاص به تاریخ ، مانند رمز عبور مفید باشد.

رویداد: "مکث" #

هنگام وقوع یکی از موارد زیر ، رویداد "مکث" منتشر می شود:

  • جریان ورودی متوقف می شود.
  • جریان ورودی متوقف نمی شود و رویداد "SIGCONT" را دریافت می کند.(به وقایع 'SIGTSTP' و 'SIGCONT' مراجعه کنید.)

عملکرد شنونده بدون تصویب هیچ استدلالی خوانده می شود.

رویداد: "رزومه" #

رویداد "رزومه" هر زمان که جریان ورودی از سر گرفته شود ساطع می شود.

عملکرد شنونده بدون تصویب هیچ استدلالی خوانده می شود.

رویداد: 'Sigcont' #

رویداد "sigcont" هنگامی منتشر می شود که یک فرآیند node. js قبلاً با استفاده از ctrl + z (یعنی SIGTSTP) به پس زمینه منتقل شود ، سپس با استفاده از FG (1P) به پیش زمینه باز می گردد.

اگر جریان ورودی قبل از درخواست SIGTSTP متوقف شود ، این رویداد منتشر نمی شود.

عملکرد شنونده بدون تصویب هیچ استدلالی فراخوانی می شود.

رویداد "Sigcont" در ویندوز پشتیبانی نمی شود.

رویداد: 'sigint' #

رویداد "sigint" هر زمان که جریان ورودی یک ورودی Ctrl+C را دریافت می کند ، که به طور معمول به عنوان سیگینت شناخته می شود ، ساطع می شود. اگر شنوندگان رویداد "sigint" ثبت نام کنند که هنگام دریافت جریان ورودی ، رویداد "مکث" منتشر می شود.

عملکرد شنونده بدون تصویب هیچ استدلالی فراخوانی می شود.

رویداد: 'sigtstp' #

رویداد "SIGTSTP" هنگامی منتشر می شود که جریان ورودی ورودی Ctrl + Z را دریافت کند ، که به طور معمول به عنوان SIGTSTP شناخته می شود. اگر شنوندگان رویداد "SIGTSTP" در هنگام دریافت جریان ورودی SIGTSTP ثبت نام کنند ، روند Node. js به پس زمینه ارسال می شود.

هنگامی که برنامه با استفاده از FG (1P) از سر گرفته می شود ، رویدادهای "مکث" و "سیگنت" منتشر می شود. از این موارد می توان برای از سرگیری جریان ورودی استفاده کرد.

در صورت مکث ورودی قبل از ارسال فرآیند به پس زمینه ، رویدادهای "مکث" و "سیگنت" ساطع نمی شوند.

عملکرد شنونده بدون تصویب هیچ استدلالی فراخوانی می شود.

رویداد "SIGTSTP" در ویندوز پشتیبانی نمی شود.

rl. close () #

روش rl. close () نمونه بین سازنده را می بندد و کنترل را بر جریان های ورودی و خروجی کنار می گذارد. هنگامی که خوانده می شود ، رویداد "نزدیک" منتشر می شود.

تماس با rl. close () بلافاصله متوقف نمی شود که سایر رویدادها (از جمله "خط") توسط نمونه بین سازنده منتشر شود.

rl. pause () #

روش rl. pause () جریان ورودی را مکث می کند و اجازه می دهد در صورت لزوم بعداً از سر گرفته شود.

فراخوانی rl. pause () بلافاصله سایر رویدادها (از جمله "خط") را از انتشار به نمونه بین سازنده مکث نمی کند.

rl. prompt ([Preservecursor]) #

  • Preservecursor اگر درست باشد ، از تنظیم مجدد مکان نما از تنظیم مجدد به 0 جلوگیری می کند.

روش RL. Prompt () نمونه های InterfaceConstructor را پیکربندی می کند و به یک خط جدید در خروجی تنظیم می شود تا بتواند مکان جدیدی را در اختیار کاربر قرار دهد که بتواند ورودی را ارائه دهد.

در صورت فراخوانی ، rl. prompt () در صورت مکث ، جریان ورودی را از سر می گیرد.

اگر InterfaceConstructor با تنظیم خروجی به صورت تهی یا تعریف نشده ایجاد شود ، سریع نوشته نمی شود.

rl. resume () #

روش rl. resume () در صورت مکث ، جریان ورودی را از سر می گیرد.

rl. setPrompt (سریع) #

روش rl. setPrompt () سریع را تنظیم می کند که هر زمان که rl. prompt () خوانده شود ، برای خروجی نوشته می شود.

rl. getPrompt () #

  • بازگشت: رشته سریع فعلی

روش rl. getPrompt () سریع سریع استفاده شده توسط rl. prompt () را برمی گرداند.

rl. write (داده [، کلید]) #

  • داده ها
  • کلید
    • CTRL برای نشان دادن کلید CTRL درست است.
    • متا برای نشان دادن کلید متا درست است.
    • تغییر واقعی برای نشان دادن کلید تغییر.
    • نام یک کلید را نامگذاری کنید.

    روش rl. write () داده یا یک دنباله کلیدی را که توسط کلید به خروجی مشخص شده است ، می نویسد. آرگومان کلیدی فقط در صورتی پشتیبانی می شود که خروجی یک ترمینال متن TTY باشد. برای لیستی از ترکیبات کلیدی ، به KeyBindings Tty مراجعه کنید.

    در صورت مشخص شدن کلید ، داده ها نادیده گرفته می شوند.

    در صورت فراخوانی ، rl. write () در صورت مکث ، جریان ورودی را از سر می گیرد.

    اگر InterfaceConstructor با تنظیم خروجی به صورت تهی یا نامشخص ایجاد شود ، داده ها و کلید نوشته نشده است.

    روش RL. Write () داده ها را به ورودی رابط readline می نویسد که گویی توسط کاربر ارائه شده است.

    rl [symbol. asynciterator] () #

    Symbol. AsynCiterator پشتیبانی دیگر آزمایشی نیست.

    اضافه شده در: v11. 4. 0 ، v10. 16. 0

    • بازگشت:

    یک شیء asynciterator ایجاد کنید که از طریق هر خط در جریان ورودی به عنوان یک رشته تکرار شود. این روش اجازه می دهد تا تکرار ناهمزمان از اشیاء بین سازنده برای انتظار باشد. حلقه ها

    خطاهای موجود در جریان ورودی ارسال نمی شوند.

    اگر حلقه با استراحت خاتمه یابد ، پرتاب یا بازگشت ، rl. close () فراخوانی می شود. به عبارت دیگر ، تکرار بیش از یک سازنده بین سازنده همیشه جریان ورودی را به طور کامل مصرف می کند.

    عملکرد با API رویداد سنتی "خط" مطابقت ندارد. به جای آن برای برنامه های حساس به عملکرد از خط استفاده کنید.

    readline. CreateInterface () پس از فراخوانی ، جریان ورودی را شروع می کند. داشتن عملیات ناهمزمان بین ایجاد رابط و تکرار ناهمزمان ممکن است منجر به خطوط از دست رفته شود.

    rl. line #

    ارزش همیشه یک رشته خواهد بود ، هرگز تعریف نشده است.

    داده های ورودی فعلی که توسط گره پردازش می شوند.

    این می تواند هنگام جمع آوری ورودی از یک جریان TTY برای بازیابی مقدار فعلی که تاکنون پردازش شده است ، استفاده شود ، قبل از اینکه رویداد خط منتشر شود. پس از انتشار رویداد خط ، این ویژگی یک رشته خالی خواهد بود.

    توجه داشته باشید که اگر RL. Cursor نیز کنترل نشود ، تغییر مقدار در طول زمان اجرا ممکن است عواقب ناخواسته داشته باشد.

    اگر از جریان TTY برای ورودی استفاده نمی کنید ، از رویداد "خط" استفاده کنید.

    یک مورد استفاده احتمالی به شرح زیر است:

    rl. cursor #

    موقعیت مکان نما نسبت به rl. line.

    این امر هنگام خواندن ورودی از یک جریان TTY ، در جایی که مکان نما فعلی در رشته ورودی قرار دارد ، ردیابی می کند. موقعیت مکان نما بخشی از رشته ورودی را که به عنوان ورودی اصلاح می شود ، تعیین می کند ، و همچنین ستونی که در آن سرپرست ترمینال ارائه می شود.

    rl. getCursorpos () #

    • بازگشت:
      • ردیف ردیف سریع مکان نما در حال حاضر روی آن فرود می آید
      • ستون صفحه نمایش مکان نما در حال حاضر روی آن فرود می آید

      موقعیت واقعی مکان نما را در رابطه با رشته ورودی + رشته برمی گرداند. رشته های ورودی طولانی (بسته بندی) ، و همچنین چندین خط خط در محاسبات گنجانده شده است.

      وعده API #

      کلاس: readlinepromises. interface #

      • گسترش می یابد:

      نمونه های کلاس readlinepromises. interface با استفاده از روش readlinepromises. createinterface () ساخته می شوند. هر نمونه با یک جریان قابل خواندن ورودی واحد و یک جریان قابل چاپ خروجی همراه است. جریان خروجی برای چاپ سریع برای ورودی کاربر که وارد جریان می شوند ، استفاده می شود و از جریان ورودی خوانده می شود.

      rl. Question (پرس و جو [، گزینه ها]) #
      • بیانیه یا پرس و جو را برای نوشتن برای خروجی ، که برای فوری آماده شده است ، پرس و جو کنید.
      • گزینه ها
        • سیگنال به صورت اختیاری اجازه می دهد تا سؤال () با استفاده از یک سقط جنین لغو شود.

        روش RL. Question () با نوشتن آن به خروجی ، پرس و جو را نشان می دهد ، منتظر است تا ورودی کاربر در ورودی ارائه شود ، سپس از عملکرد پاسخ تماس با عبور از ورودی ارائه شده به عنوان اولین آرگومان استفاده می کند.

        در صورت فراخوانی ، rl. question () در صورت مکث ، جریان ورودی را از سر می گیرد.

        اگر readlinepromises. interface با تنظیم خروجی به صورت تهی یا نامشخص ایجاد شود ، پرس و جو نوشته نشده است.

        اگر این سؤال پس از rl. close () خوانده شود ، یک قول رد شده را برمی گرداند.

        استفاده از یک سقط جنین برای لغو یک سؤال.

        کلاس: readlinepromises. readline #

        جدید readlinepromises. readline (جریان [، گزینه ها]) #
        • یک جریان TTY را پخش کنید.
        • گزینه ها
          • AutoCommit اگر درست باشد ، نیازی به تماس با rl. commit () نیست.
          rl. Clearline (dir) #
          • خط
            • -1: از سمت چپ از مکان نما
            • 1: از سمت راست از مکان نما
            • 0: کل خط

            روش rl. clearline () به لیست داخلی اقدام در انتظار عمل می افزاید که خط فعلی جریان مرتبط را در یک جهت مشخص شده توسط DIR مشخص می کند. برای دیدن تأثیر این روش ، با rl. commit () تماس بگیرید ، مگر اینکه AutoCommit: True به سازنده منتقل شود.

            rl. ClearScreendown () #
            • بازگشت: این

            روش RL. ClearScreendown () به لیست داخلی اقدام در انتظار عمل می افزاید که جریان مرتبط را از موقعیت فعلی مکان نما به پایین پاک می کند. برای دیدن تأثیر این روش ، با rl. commit () تماس بگیرید ، مگر اینکه AutoCommit: True به سازنده منتقل شود.

            rl. commit () #
            • بازگشت:

            روش rl. commit () تمام اقدامات معلق را به جریان مرتبط می فرستد و لیست داخلی اقدامات معلق را پاک می کند.

            rl. cursorto (x [، y]) #

            روش rl. cursorto () به لیست داخلی عمل در انتظار عمل می افزاید که مکان نما را به موقعیت مشخص شده در جریان مرتبط منتقل می کند. برای دیدن تأثیر این روش ، با rl. commit () تماس بگیرید ، مگر اینکه AutoCommit: True به سازنده منتقل شود.

            rl. MoveCursor (DX ، DY) #

            روش RL. MoveCursor () به لیست داخلی عمل در انتظار عمل می افزاید که نشانگر را نسبت به موقعیت فعلی خود در جریان مرتبط حرکت می دهد. برای دیدن تأثیر این روش ، با rl. commit () تماس بگیرید ، مگر اینکه AutoCommit: True به سازنده منتقل شود.

            rl. rollback () #
            • بازگشت: این

            روشهای RL. Rollback لیست داخلی اقدامات در حال انتظار را بدون ارسال آن به جریان مرتبط پاک می کند.

            readlinePromises. CreateInterface (گزینه ها) #

            • گزینه ها
              • برای گوش دادن به جریان قابل خواندن وارد کنید. این گزینه مورد نیاز است.
              • برای نوشتن داده های readline به.
              • یک تابع اختیاری که برای AutoCletion Tab استفاده می شود.
              • ترمینال صحیح است اگر جریان های ورودی و خروجی باید مانند TTY رفتار شوند و دارای کدهای فرار ANSI/VT100 برای آن باشند. پیش فرض: بررسی ISTTY در جریان خروجی پس از لحظه.
              • لیست اولیه تاریخ خطوط تاریخ. این گزینه فقط در صورتی منطقی است که ترمینال توسط کاربر یا با بررسی خروجی داخلی تنظیم شود ، در غیر این صورت مکانیسم ذخیره سازی تاریخ به هیچ وجه اولیه نمی شود. پیش فرض: [].
              • تاریخچه حداکثر تعداد خطوط تاریخ را حفظ کنید. برای غیرفعال کردن تاریخ این مقدار را به 0 تنظیم کنید. این گزینه فقط در صورتی منطقی است که ترمینال توسط کاربر یا با بررسی خروجی داخلی تنظیم شود ، در غیر این صورت مکانیسم ذخیره سازی تاریخ به هیچ وجه اولیه نمی شود. پیش فرض: 30.
              • حذف HistoryDuplicates اگر درست باشد ، هنگامی که یک خط ورودی جدید به لیست تاریخچه اضافه می شود ، یک نسخه قدیمی تر را کپی می کند ، این خط قدیمی را از لیست حذف می کند. پیش فرض: نادرست.
              • prompt The prompt string to use. Default: '> ' .
              • crlfdelay اگر تأخیر بین r و n بیش از milliseconds crlfdelay باشد ، هر دو r و n به عنوان ورودی جداگانه خطی رفتار می شوند. CRLFDELAY به تعداد کمتر از 100 اجبار می شود. می توان آن را به Infinity تنظیم کرد ، در این حالت r و به دنبال آن n همیشه یک خط جدید (که ممکن است برای خواندن پرونده ها با تعیین کننده خط r n معقول باشد) در نظر گرفته می شود. پیش فرض: 100.
              • EscapEcodeTimeout مدت زمان خواندن خطوط منتظر یک شخصیت (هنگام خواندن یک دنباله کلید مبهم در میلی ثانیه است که می تواند با استفاده از ورودی خوانده شده تا کنون یک دنباله کلیدی کامل را تشکیل دهد و می تواند ورودی اضافی را برای تکمیل یک دنباله کلید طولانی تر انجام دهد). پیش فرض: 500.
              • Tabsize تعداد فضاها یک برگه برابر با (حداقل 1). پیش فرض: 8.

              روش readlinePromises. CreateInterface () یک نمونه جدید readlinepromises. interface ایجاد می کند.

              هنگامی که نمونه readlinepromises. interface ایجاد شد ، رایج ترین مورد گوش دادن به رویداد "خط" است:

              اگر ترمینال برای این نمونه صحیح باشد ، اگر یک ویژگی خروجی را تعریف کند ، جریان خروجی بهترین سازگاری را بدست می آورد و یک رویداد "تغییر اندازه" را در خروجی منتشر می کند اگر ستون ها یا هنگامی که ستون ها تغییر می کنند (Process. StDout این کار را به طور خودکار انجام می دهد. یک tty است)

              استفاده از عملکرد Compler #

              عملکرد Completer خط فعلی وارد شده توسط کاربر را به عنوان آرگومان می گیرد و یک آرایه را با 2 مدخل برمی گرداند:

              • آرایه ای با ورودی های تطبیق برای تکمیل.
              • بستری که برای تطبیق استفاده شده است.

              به عنوان مثال: [[subtr1 ، subtr2 ،.] ، OriginalSubstring].

              عملکرد Completer همچنین می تواند A را برگرداند ، یا ناهمزمان باشد:

              API بازگشت به تماس #

              کلاس: readline. interface #

              کلاس readline. interface اکنون از رابط به ارث می برد.

              اضافه شده در: v0. 1. 104

              • گسترش می یابد:

              نمونه های کلاس readline. interface با استفاده از روش readline. createinterface () ساخته می شوند. هر نمونه با یک جریان قابل خواندن ورودی واحد و یک جریان قابل چاپ خروجی همراه است. جریان خروجی برای چاپ سریع برای ورودی کاربر که وارد جریان می شوند ، استفاده می شود و از جریان ورودی خوانده می شود.

              rl. Question (پرس و جو [، گزینه ها] ، پاسخ به تماس) #
              • بیانیه یا پرس و جو را برای نوشتن برای خروجی ، که برای فوری آماده شده است ، پرس و جو کنید.
              • گزینه ها
                • سیگنال به صورت اختیاری اجازه می دهد تا سؤال () با استفاده از abortController لغو شود.

                روش RL. Question () با نوشتن آن به خروجی ، پرس و جو را نشان می دهد ، منتظر است تا ورودی کاربر در ورودی ارائه شود ، سپس از عملکرد پاسخ تماس با عبور از ورودی ارائه شده به عنوان اولین آرگومان استفاده می کند.

                در صورت فراخوانی ، rl. question () در صورت مکث ، جریان ورودی را از سر می گیرد.

                اگر readline. Interface با خروجی تهی یا تعریف نشده ایجاد شده باشد، پرس و جو نوشته نمی شود.

                تابع callback ارسال شده به rl. question() از الگوی معمول پذیرش یک شی خطا یا null به عنوان اولین آرگومان پیروی نمی کند. فراخوانی با پاسخ ارائه شده به عنوان تنها آرگومان فراخوانی می شود.

                اگر rl. question() را بعد از rl. close() فراخوانی کنید، خطایی ایجاد می شود.

                استفاده از AbortController برای لغو یک سوال.

                readline. clearLine(stream، dir[، callback]) #

                ارسال یک تماس نامعتبر به آرگومان پاسخ به تماس، اکنون به جای ERR_INVALID_CALLBACK، ERR_INVALID_ARG_TYPE را نشان می دهد.

                مقدار بازگشت و برگشت write() جریان نمایش داده می شود.

                • جریان
                • خط
                  • -1: از سمت چپ از مکان نما
                  • 1: از سمت راست از مکان نما
                  • 0: کل خط

                  متد readline. clearLine() خط فعلی جریان TTY داده شده را در جهت مشخصی که توسط dir مشخص شده است پاک می کند.

                  readline. clearScreenDown(جریان[، پاسخ به تماس]) #

                  ارسال یک تماس نامعتبر به آرگومان پاسخ به تماس، اکنون به جای ERR_INVALID_CALLBACK، ERR_INVALID_ARG_TYPE را نشان می دهد.

                  مقدار بازگشت و برگشت write() جریان نمایش داده می شود.

                  • جریان
                  • پس از اتمام عملیات فراخوانی می شود.
                  • برمی گرداند: اگر جریان بخواهد قبل از ادامه نوشتن داده های اضافی، کد فراخوانی منتظر انتشار رویداد «drain» باشد، نادرست است. در غیر این صورت درست است.

                  متد readline. clearScreenDown() جریان TTY داده شده را از موقعیت فعلی مکان نما به پایین پاک می کند.

                  readline. createInterface(گزینه ها) #

                  اکنون گزینه سیگنال پشتیبانی می شود.

                  گزینه تاریخچه اکنون پشتیبانی می شود.

                  اکنون گزینه tabSize پشتیبانی می شود.

                  حداکثر محدودیت گزینه crlfDelay را حذف کنید.

                  گزینه crlfDelay اکنون پشتیبانی می شود.

                  اکنون گزینه prompt پشتیبانی می شود.

                  گزینه historySize اکنون می تواند 0 باشد.

                  • گزینه ها
                    • برای گوش دادن به جریان قابل خواندن وارد کنید. این گزینه مورد نیاز است.
                    • برای نوشتن داده های readline به.
                    • یک تابع اختیاری که برای AutoCletion Tab استفاده می شود.
                    • ترمینال صحیح است اگر جریان های ورودی و خروجی باید مانند TTY رفتار شوند و دارای کدهای فرار ANSI/VT100 برای آن باشند. پیش فرض: بررسی ISTTY در جریان خروجی پس از لحظه.
                    • لیست اولیه تاریخ خطوط تاریخ. این گزینه فقط در صورتی منطقی است که ترمینال توسط کاربر یا با بررسی خروجی داخلی تنظیم شود ، در غیر این صورت مکانیسم ذخیره سازی تاریخ به هیچ وجه اولیه نمی شود. پیش فرض: [].
                    • تاریخچه حداکثر تعداد خطوط تاریخ را حفظ کنید. برای غیرفعال کردن تاریخ این مقدار را به 0 تنظیم کنید. این گزینه فقط در صورتی منطقی است که ترمینال توسط کاربر یا با بررسی خروجی داخلی تنظیم شود ، در غیر این صورت مکانیسم ذخیره سازی تاریخ به هیچ وجه اولیه نمی شود. پیش فرض: 30.
                    • حذف HistoryDuplicates اگر درست باشد ، هنگامی که یک خط ورودی جدید به لیست تاریخچه اضافه می شود ، یک نسخه قدیمی تر را کپی می کند ، این خط قدیمی را از لیست حذف می کند. پیش فرض: نادرست.
                    • prompt The prompt string to use. Default: '> ' .
                    • crlfdelay اگر تأخیر بین r و n بیش از milliseconds crlfdelay باشد ، هر دو r و n به عنوان ورودی جداگانه خطی رفتار می شوند. CRLFDELAY به تعداد کمتر از 100 اجبار می شود. می توان آن را به Infinity تنظیم کرد ، در این حالت r و به دنبال آن n همیشه یک خط جدید (که ممکن است برای خواندن پرونده ها با تعیین کننده خط r n معقول باشد) در نظر گرفته می شود. پیش فرض: 100.
                    • EscapEcodeTimeout در مدت زمان خواندن منتظر یک کاراکتر خواهد بود (هنگام خواندن یک دنباله کلید مبهم در میلی ثانیه که می تواند با استفاده از ورودی خوانده شده تا کنون یک دنباله کلیدی کامل ایجاد کند و می تواند ورودی اضافی را برای تکمیل یک دنباله کلید طولانی تر انجام دهد). پیش فرض: 500.
                    • Tabsize تعداد فضاها یک برگه برابر با (حداقل 1). پیش فرض: 8.
                    • سیگنال اجازه می دهد تا با استفاده از یک سقط جنین ، رابط را ببندید. سقط جنین سیگنال در داخل رابط کاربری نزدیک خواهد بود.

                    روش readline. createinterface () یک نمونه جدید readline. interface ایجاد می کند.

                    پس از ایجاد نمونه readline. interface ، رایج ترین مورد گوش دادن به رویداد "خط" است:

                    اگر ترمینال برای این نمونه صحیح باشد ، اگر یک ویژگی خروجی را تعریف کند ، جریان خروجی بهترین سازگاری را بدست می آورد و یک رویداد "تغییر اندازه" را در خروجی منتشر می کند اگر ستون ها یا هنگامی که ستون ها تغییر می کنند (Process. StDout این کار را به طور خودکار انجام می دهد. یک tty است)

                    هنگام ایجاد یک readline. interface با استفاده از stdin به عنوان ورودی ، برنامه تا زمانی که یک شخصیت EOF دریافت نکند ، خاتمه نمی یابد. برای خروج بدون انتظار برای ورودی کاربر ، process. stdin. unref () تماس بگیرید.

                    استفاده از عملکرد Compler #

                    عملکرد Completer خط فعلی وارد شده توسط کاربر را به عنوان آرگومان می گیرد و یک آرایه را با 2 مدخل برمی گرداند:

                    • آرایه ای با ورودی های تطبیق برای تکمیل.
                    • بستری که برای تطبیق استفاده شده است.

                    به عنوان مثال: [[subtr1 ، subtr2 ،.] ، OriginalSubstring].

                    اگر دو آرگومان را بپذیرد ، عملکرد Completer را می توان به صورت ناهمزمان نامید:

                    readline. cursorto (جریان ، x [، y] [، پاسخ به تماس]) #

                    ارسال یک تماس نامعتبر به آرگومان پاسخ به تماس، اکنون به جای ERR_INVALID_CALLBACK، ERR_INVALID_ARG_TYPE را نشان می دهد.

                    مقدار بازگشت و برگشت write() جریان نمایش داده می شود.

                    • جریان
                    • x
                    • y
                    • پس از اتمام عملیات فراخوانی می شود.
                    • برمی گرداند: اگر جریان بخواهد قبل از ادامه نوشتن داده های اضافی، کد فراخوانی منتظر انتشار رویداد «drain» باشد، نادرست است. در غیر این صورت درست است.

                    روش readline. cursorto () مکان نما را به موقعیت مشخص شده در یک جریان TTY معین منتقل می کند.

                    readline. movecursor (جریان ، DX ، DY [، پاسخ به تماس]) #

                    ارسال یک تماس نامعتبر به آرگومان پاسخ به تماس، اکنون به جای ERR_INVALID_CALLBACK، ERR_INVALID_ARG_TYPE را نشان می دهد.

                    مقدار بازگشت و برگشت write() جریان نمایش داده می شود.

                    • جریان
                    • dx
                    • dy
                    • پس از اتمام عملیات فراخوانی می شود.
                    • برمی گرداند: اگر جریان بخواهد قبل از ادامه نوشتن داده های اضافی، کد فراخوانی منتظر انتشار رویداد «drain» باشد، نادرست است. در غیر این صورت درست است.

                    روش readline. movecursor () مکان نما را نسبت به موقعیت فعلی خود در یک جریان TTY معین حرکت می دهد.

                    readline. emitkeypressevents (جریان [، رابط]) #

                    • جریان
                    • رابط

                    روش readline. emitkeypressevents () باعث می شود که جریان قابل خواندن داده شده شروع به انتشار رویدادهای "keypress" مربوط به ورودی دریافت کند.

                    به صورت اختیاری ، رابط یک نمونه readline. interface را مشخص می کند که در هنگام شناسایی ورودی کپی ، از آن استفاده می شود.

                    اگر جریان TTY باشد ، باید در حالت خام باشد.

                    اگر ورودی یک ترمینال باشد ، به طور خودکار توسط هر نمونه readline در ورودی آن فراخوانی می شود. بستن نمونه readline مانع از انتشار رویدادهای "کلید" نمی شود.

                    مثال: Tiny CLI #

                    مثال زیر استفاده از کلاس readline. interface را برای پیاده سازی یک رابط خط فرمان کوچک نشان می دهد:

                    مثال: خواندن پرونده خط به خط # #

                    یک مورد استفاده مشترک برای readline مصرف یک فایل ورودی یک خط در یک زمان است. ساده ترین راه برای انجام این کار ، استفاده از API fs. readStream و همچنین A برای انتظار است. حلقه:

                    از طرف دیگر ، می توان از رویداد "خط" استفاده کرد:

                    در حال حاضر ، برای انتظار. حلقه می تواند کمی کندتر باشد. اگر Async / Await جریان و سرعت هر دو ضروری باشند ، می توان از یک روش مختلط استفاده کرد:

پلتفرم های تجاری...
ما را در سایت پلتفرم های تجاری دنبال می کنید

برچسب : نویسنده : مریم کاویانی بازدید : <-PostHit-> تاريخ : شنبه 7 مرداد 1402 ساعت: 13:14