рд╕реНрд╡рд░: рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рд╡рд╛рджреЗ

рдореИрдВ рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдореЗрдВ рд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд╕реНрд╡рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп, рдЬреЛ рдореЗрд░реЗ рд╕рд╣рдпреЛрдЧреА рджрд┐рдорд┐рддреНрд░реА рдлрд┐рд▓рддреЛрд╡ dfilatov рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред

рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкреНрд░рддрд┐рдЬреНрдЮрд╛ / A + рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕реНрдореГрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдХреНрдпреВ рд╕реЗ рдмрд╣реБрдд рдЖрдЧреЗ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА рд╕рд╛рде рдпрд╣ рдХрд╛рдо рдХреЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рддрд░реАрдХреЗ рдХреЛ рдмрд░рдХрд░рд╛рд░ рд░рдЦрддрд╛ рд╣реИред

рд╕реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдХреНрдпреВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЬрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реИ ред рдХрдорд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ ( рдХреНрдпреВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ), рд╣рдо рдХреЗрд╡рд▓ рдкреНрд░рдЧрддрд┐ рдХреА рдХрдореА рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдирдореВрдирд╛ рдХреЛрдб:
function readFile(filename, encoding) { var promise = Vow.promise(); fs.readFile(filename, encoding, function(err, data) { if (err) return promise.reject(err); promise.fulfill(data); }); return promise; } Vow.all([readFile('test1.txt', 'utf8'), readFile('test2.txt', 'utf8')]).then(function(results) { console.log(results.join('\n')); }); 

рдПрдХ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЬреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпреВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд┐рддрдиреА рдзреАрдореА рд╣реИ (рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╡рд╛рджреЗ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ):
рд╕рдордпрд╕рдВрдЪрд╛рд▓рди рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб
рдХреНрдпреВ54.891ms18
рдХрдм3.484ms287
рд╡реНрд░рдд1.158ms864

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп Vow: vow-fs : https://github.com/dfilatov/vow-fs рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ: рд╕реНрд╡рд░
рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА: https://github.com/dfilatov/jspromise

Source: https://habr.com/ru/post/In174339/


All Articles