Więc dostaję, że tablica [200.599] jest zwracana z obietnicy, a funkcja wywołania zwrotnego wewnątrz rozprzestrzeniania jest przekazywana do Function.apply.bind, ale teraz jestem zagubiony. W jaki sposób tablica [200,599] podzielona na x i y? Jak dokładnie działa aplikacja apply.bind?Jak działa plik function.apply.bind w poniższym kodzie?
function getY(x) {
return new Promise(function(resolve,reject){
setTimeout(function(){
resolve((3 * x) - 1);
}, 100);
});
}
function foo(bar,baz) {
var x = bar * baz;
// return both promises
return [
Promise.resolve(x),
getY(x)
];
}
function spread(fn) {
return Function.apply.bind(fn, null);
}
Promise.all(
foo(10, 20)
)
.then(
spread(function(x,y){
console.log(x, y); // 200 599
})
)
Wiesz, co oni robią sami, prawda? – Bergi