저는 웅변적인 자바 스크립트를 사용하고 promise.all을 구현해야합니다. 여기 내 해결책이있다.javascript 구현이 promise.all 작동하지 않습니까?
function all(promises) {
return new Promise(function(success, fail) {
var results = [];
var failed = false;
promises.forEach(function(promise) {
promise.then(function(result) {
results.push(result);
}, function (error) {
failed = true;
fail(error);
});
});
if (!failed)
success(results);
});
}
다음은 내가 수행중인 테스트입니다. []이 있어야한다
[1, 2, 3] : []
우리가해야 그것이이해야 할 []
를 출력하는 것 becuase// Test code.
all([]).then(function(array) {
console.log("This should be []:", array);
});
function soon(val) {
return new Promise(function(success) {
setTimeout(function() { success(val); },
Math.random() * 500);
});
}
all([soon(1), soon(2), soon(3)]).then(function(array) {
console.log("This should be [1, 2, 3]:", array);
});
function fail() {
return new Promise(function(success, fail) {
fail(new Error("boom"));
});
}
all([soon(1), fail(), soon(3)]).then(function(array) {
console.log("We should not get here");
}, function(error) {
if (error.message != "boom")
console.log("Unexpected failure:", error);
});
내 코드는 분명 잘못된 것입니다 여기에 오지 마시오
첫 번째 것은 유일한 것입니다. 내 결함이보기에서 나는이 작품을 쓴 여기에서 찾을 수 있습니다 내용과 기본적으로 동일 실제 솔루션 : http://eloquentjavascript.net/code/#17.2
왜 내 코드가 작동하지 않는 이유는 무엇입니까? 그게 뭐가 잘못 됐어?
@AliTorabi이 바보하지 마십시오 : 내 솔루션에서 나는이 변수
count
이름.때로는 프로그래밍 및 언어 작업에 대한 이해를 높이기 위해 휠을 다시 발명하는 것이 중요합니다. –@AliTorabi 학습 운동으로서 나는 그것을 잘 이해하기 위해 공통된 기능을 재 구현하는 것이 좋다. 내 이해는 이것이 OP의 목표라는 것입니다. – Timo
나는 더 이상 얼간이가 아니다. 코드와 질문에 대한 작업 –