بىلىملەر مۇنبىرى

 پارول قايتۇرىۋېلىش
 تىزىملىتىڭ
جەمئىي مىكروبلوگ 258 تال  

مىكروبلوگ[ يېڭى | 24 سائەت | 7 كۈن | 30 كۈن ]

كۆرۈش: 678|ئىنكاس: 0

[Node.js] Node.js قايتما فونكىسىيە

[ئۇلانما كۆچۈرۈش]

بىكەتكە ئەزا نامىڭىز بىلەن كىرسىڭىز تېخىمۇ كۆپ ئۇچۇرلارنى كۆرەلەيسىز

مۇنبىرىمىزگە تىزىملىتىپ كىرسىڭىز ئاندىن قوشۇمچە ھۆججەتنى كۆرەلەيسىز ياكى چۈشۈرەلەيسىز . تېخى تىزىملاتمىغانمۇ؟ تىزىملىتىڭ

x
مەزكۇر يازمىدا، 回调函数 دىكى 回调 سۆزى «قايتما» دەپ تەرجىمە قىلىندى. 回调函数 نىڭ ئىنگىلىزچە تەرجىمىسى: Callback function
异步 «بىماس قەدەملىك» دەپ تەرجىمە قىلىندى.

Node.js بىماس قەدەملىك پروگرامما تۈزۈشنىڭ بىۋاسىتە ئىپادىسى بولسا قايتما(回调).
قايتما فونكىسىيە ۋەزىپىنى تاماملىغاندىن كىيىن ئىشلىتىلىدۇ، Node دا نۇرغۇنلىغان قايتما فونكىسىيە ئىشلىتىلگەن بولۇپ، Node دىكى باھارلىق API لار قايتما فونكىسىيە قوللايدۇ.
مەسلەن، بىز بىر تەرەپتىن ھۆججەت ئوقۇتقاچ، يەنە بىر تەرەپتىن باشقا بۇيرۇقلارنى قىلالايمىز، ھۆججەت ئوقۇپ بولغاندىن كىيىن ئىچىدىكى مەزمۇنلارنى پارامىتېر ئارقىلىق قايتۇرىمىز. بۇنداق كود ئىجرا قىلغاندا توسۇلۇش بولمايدۇ ياكى ھۆججەت I/O مەشخۇلاتىنى ساقلاش ھاجەتسىز.
قايتما فونكىسىيە ئادەتتە فونكىسىيەنىڭ ئەڭ ئاخىرقى پارامىتېرىدا كۆرۈلىدۇ:
  1. function foo1(name, age, callback) { }
  2. function foo2(value, callback1, callback2) { }
مەزمۇننى كۆچۈرۈۋېلىش

تۇسالغۇ كود(阻塞代码) مىسالى
نامى  input.txt بولغان ھۆججەتتىن بىرنى قۇرۇپ، ئىچىگە تۆۋەندىكى مەزمۇنلارنى يازايلى:
  1. 维知网:www.bilimlar.com
مەزمۇننى كۆچۈرۈۋېلىش

يەنە بىر تال main.js ھۆججىتىدىن بىرنى قۇرۇپ، ئىچىگە تۆۋەندىكى مەزمۇنلارنى يازايلى:
  1. var fs = require("fs");

  2. var data = fs.readFileSync('input.txt');

  3. console.log(data.toString());
  4. console.log("ئىجرا قىلىش تامام!");
مەزمۇننى كۆچۈرۈۋېلىش

يوقارقى كودنىڭ ئىجرا نەتىنجىسى تۆۋەندىكىچە:
  1. $ node main.js
  2. 维知网:www.bilimlar.com

  3. ئىجرا قىلىش تامام!
مەزمۇننى كۆچۈرۈۋېلىش

تۇسالغۇسىز كود(非阻塞代码) مىسالى
نامى  input.txt بولغان ھۆججەتتىن بىرنى قۇرۇپ، ئىچىگە تۆۋەندىكى مەزمۇنلارنى يازايلى:
  1. 维知网:www.bilimlar.com
مەزمۇننى كۆچۈرۈۋېلىش

يەنە بىر تال main.js ھۆججىتىدىن بىرنى قۇرۇپ، ئىچىگە تۆۋەندىكى مەزمۇنلارنى يازايلى:
  1. var fs = require("fs");

  2. fs.readFile('input.txt', function (err, data) {
  3.     if (err) return console.error(err);
  4.     console.log(data.toString());
  5. });

  6. console.log("ئىجرا قىلىش تامام!");
مەزمۇننى كۆچۈرۈۋېلىش

يوقارقى كودنىڭ ئىجرا نەتىنجىسى تۆۋەندىكىچە:
  1. $ node main.js
  2. ئىجرا قىلىش تامام!
  3. 维知网:www.bilimlar.com
مەزمۇننى كۆچۈرۈۋېلىش

يۇقىرىقى ئىككى ئەمەلىي مىسالدا بىز تۇسالغۇ كود بىلەن تۇسالغۇسىز كودنىڭ ئىشلىتىش (调用) ئوخشىماسلىقىنى كۆرۈپ چىقتۇق. بىرىنجى مىسالدا ھۆججەت مەزمۇنىغا ئېرىشىپ بولغاندىن كىيىن ئاستىدىكى كود ئىجرا بولدى، ئىككىنچى مىسالدا بولسا ھۆججەت مەزمۇنىنى ئوقۇپ بولۇشنى ساقلاپ ئولتۇرمايلا ئاستىدىكى كود ئىجرا بولىۋېرىپ، ھۆججەت مەزمۇنى ئوقۇپ بولغاندا ئاندىن نەتىنجىنى چىقىرىپ بەردى. بۇنداق بولغاندا بىز بىر تەرەپتىن ھۆججەت ئوقۇتقاش يەنە باشقا كودنىمۇ ئىجرا قىلىۋەردۇق، پروگراممىنىڭ سۈپىتىمۇ يوقىرى كۆتۈرۈلدى.

شۇنداق قىلىپ مەزكۇر يازما مۇشۇ يەردە تۈگىدى، داۋامىغا قىزىقماقچى بولسىڭىز دىققىتىڭىز بىلىملەر مۇنبىرى بىلەن بىلىملەر سالونىدا بولسۇن، سالون ئىزدەش نامى: bilmlarcom
بىلمىگەننى بىلىملەردىن بىل!
كىرگەندىن كېيىن ئىنكاس يازالايسىز كىرىش | تىزىملىتىڭ

سەھىپە جۇغلانما قائىدىسى

QQ|قاماقخانا|رەسىمسىز ھالەت|يانفۇن| بىلىملەر تورى ( 沪ICP备19027845号-8 )   

GMT+8, 2021-3-9 02:18 , Processed in 2.939007 second(s), 28 queries .

Powered by Discuz! X3.2(NurQut Team)

© 2001-2013 Comsenz Inc.

تېز ئىنكاس چوققىغا قايتىش سەھىپىگە قايتىش