gevent의 설명서에서 첫 번째 예제를 살펴보면 가장자리가 가장 두드러진 generators
을 찾고 있습니다. 지원 노드 버전 (현재 불안정한 0.11)에 --harmony_generators
을 전달하여 사용할 수 있습니다.
네이티브 생성기 사용은 그리 어렵지 않지만 co module을 권하고 싶습니다. 의 추가 정보에서 예 :
doSomeTaskThatReturnsAPromise()
.then(somethingElse)
.then(somethingElse)
.then(function() { console.log("I'm done!") });
.. 또는 라이브러리 등 async 등 :
async.series([
doSomeTask,
somethingElse,
somethingElse
], function() {
console.log("I'm done!");
});
co(function *(){
var a = get('http://google.com'); // an async process
var b = get('http://yahoo.com'); // an async process
var c = get('http://cloudup.com'); // an async process
var res = yield [a, b, c]; // wait until these are done in a
// synchronous style.
console.log(res); // log these objects
})()
다른 전통적인 옵션 (여러 라이브러리가 존재) 약속을 사용하는 것 저는 Fibers에 대한 경험이 없지만 개념적으로 Generators와 유사하다고 생각합니다.
nodejs는 설계 상 기본적으로 비동기입니다. 따라서 모든 라이브러리가 비동기 프로그래밍을 염두에두고 작성 되었기 때문에 패치 할 필요가 없습니다. 패치 할 동기화 라이브러리가 없습니다. 코드 비동기를 작성해야합니다. – mpm
nodejs/javascript는 설계 상 콜백입니다. 질문은 콜백 별 디자인에서 비동기식 디자인으로, 파이썬에서 비틀어지기, gevent로 이동하는 기술에 관한 것입니다. – Alex