의 손길이 닿지 않은 미들웨어를 통해 몇 가지 인수를 전달합니다 원래 함수. 원래 함수는 매우 동적입니다 (4 개의 인수를 사용하는 RabbitMQ 또는 2를 사용하는 Redis 또는 1이 필요한 단위 테스트 드라이버 인 커넥터입니다). 그래서 미들웨어는 실제로 얼마나 많은 인수를 받을지 알지 못합니다 .자바 스크립트 내가이 보이는 중간 제품을
이것을 사용하면 : var args = Array.prototype.slice.call(args, 1)
은 진정한 주장을 얻는 좋은 시작처럼 보입니다. 그러나, 저는 방금 인수 2를 하나의 인수로 바꾸었지만, 그것은 첫 번째 변수에 배열로 전달 될 것이라고 생각합니다. 내가 원하는 건 아니야. 이 일을 올바르게하는 방법?
및/또는 http://stackoverflow.com/q/17920090/218196 –
@FelixKling 예, 실종'apply'. 우선 좋다. – djechlin
Btw, ES6에서는 rest 매개 변수를 사용합니다. 여기서 arguments 객체를 슬라이싱하는 대신'function foo (first, ... args)'를 수행 할 수 있습니다. 매우 편리 할 수 있습니다. –