>  기사  >  웹 프론트엔드  >  nodejs async를 비동기화하려면 어떤 기능이 필요합니까?

nodejs async를 비동기화하려면 어떤 기능이 필요합니까?

php中世界最好的语言
php中世界最好的语言원래의
2018-04-14 16:06:261221검색

이번에는 nodejs async async에 필요한 기능이 무엇인지, nodejs async async 기능 사용 시 주의사항 은 무엇인지 알려드리겠습니다. 다음은 실제 사례입니다. 살펴보겠습니다.

nodejs 프레임워크클래스 라이브러리가 많이 있습니다. "프로세스 제어"는 원래 비교적 간단한 것이지만 nodejs의 비동기 아키텍처 구현에서는 동기화가 필요한 비즈니스 로직을 구현하는 것이 더 번거롭습니다.

비동기식 컬렉션 제어:

async.map(arr, function(item, callback){},callback(err, results){});async.mapSeries
app.get('/testMap',function(req, res){
 var arr = [0,1,2,3,4,5,6];
 async.mapSeries(arr,function(item, callback){
  (function(){
  callback(null, item+1);
  }());
 },function(err, results){
  console.log(results);//[1,2,3,4,5,6,7];
 });
 });

results.length는 arr.length와 같습니다.

배열 arr의 각 항목에 대해 비동기 함수 함수를 실행하고 결과를 얻습니다. 모든 결과는 최종 콜백에 요약됩니다.

비동기 프로세스 제어:

async.series(tasks,callback); 여러 함수가 데이터 교환 없이 순차적으로 실행됩니다

nodejs async异步常用函数总结(推荐)

rrreerrree

직렬 실행, 함수 배열의 각 함수가 실행된 후 다음 함수가 실행되고, callback(err, results)는 오류 메시지를 반환하며, results는 여러 함수에서 반환된 결과 집합입니다.

어떤 함수가 콜백 함수에 오류를 전달하면 다음 함수는 실행되지 않으며 오류와 실행된 함수의 결과는 즉시 시리즈 콜백

의 마지막 함수로 전달됩니다. async.parallel(tasks,callback); 여러 함수가 병렬로 실행됩니다.

app.get('/testParallel',function(req, res){

app.get('/testSeries',function(req, res){
 async.series([
 function(callback){
  callback(null,'function1');
 },function(callback){
  callback(null, 'function2')
 },function(callback){
  callback(null, 'function3');
 }],function(err, results){
  console.log(results);//['function1','function2','function3'];
 });
 });

작업: functionList;

콜백:함수(err, 결과){}

task.length와 results.length가 동일합니다

여러 함수를 병렬로 실행합니다. 각 함수는 기다리지 않고 즉시 실행됩니다. 다른 함수는 먼저 실행됩니다. 최종 콜백 배열에 전달되는 데이터는 실행이 완료된 순서가 아닙니다.

함수에 오류가 발생하면 err과 실행된 함수의 결과 값이 즉시 병렬의 최종 콜백으로 전달됩니다. 실행되지 않은 다른 기능의 값은 최종 데이터로 전송되지 않지만 한 자리를 차지하게 됩니다

async.whilst(test, function, callback); 비동기적으로 호출하는 데 사용할 수 있습니다.

tasks: functionList;
callback: function(err, result){}

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 다른 관련 기사를 주목하세요. PHP 중국어 웹사이트에서!

추천 자료:

Vue.js의 v-on 이벤트 사용에 대한 자세한 설명

라이브 비디오 푸시용 ffmpeg 기반 nodejs

위 내용은 nodejs async를 비동기화하려면 어떤 기능이 필요합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.