프라미스 연결: ".then(function(a){ return a; })" 이해
프로미스 체인으로 작업할 때 다음과 같습니다. ".then(function(a){ return a; })"와 같은 문을 접하는 것이 일반적입니다. 다음 구문은 코드에 나타납니다.
var getEvents = function(participantId) { return new models.Participant() .query({where: {id: participantId}}) .fetch({withRelated: ['events'], require: true}) .then(function(model) { return model; }); };
질문이 생깁니다. 이 함수는 추가 ".then()" 없이 fetch()를 직접 반환하는 것과 기능적으로 동일합니까?
답변: 무작동
예. ".then(function(a){ return a; })"는 사실상 promise에 대한 무작동(no-op)입니다. 동일한 Promise를 반환하고 동일한 방식으로 작동하며 동일하게 호출할 수 있습니다.
추론:
Promise는 비동기 작업을 나타내는 데 사용됩니다. Promise가 해결되면 "then" 함수를 통해 그 결과를 체인의 다음 Promise로 전달합니다. 그러나 "then" 함수가 단순히 입력을 반환할 때는 체인에 어떤 값도 추가하지 않습니다.
저자가 이 기능을 사용한 이유:
중복되어 보이는 ".then()"이 포함된 이유는 다음 중 하나 때문일 수 있습니다. 이유:
결론:
대부분의 경우 ".then(function(a){ return a; })"는 불필요하며 원하는 동작에 영향을 주지 않고 생략되었습니다. 아무 목적도 없는 자리 표시자이므로 코드 명확성을 높이기 위해 제거해야 합니다.
위 내용은 약속 체인에 '.then(function(a){ return a; })'가 필요합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!