Javascript JS Promise回调:获取命名参数而不是数组
我有两个异步调用,我想(某种程度上)将调用1的响应与对象中调用2的响应合并 下面的代码可以做到这一点。我的问题是:有没有办法让Javascript JS Promise回调:获取命名参数而不是数组,javascript,callback,es6-promise,Javascript,Callback,Es6 Promise,我有两个异步调用,我想(某种程度上)将调用1的响应与对象中调用2的响应合并 下面的代码可以做到这一点。我的问题是:有没有办法让Promise.all中的回调参数更具可读性?我真的不喜欢在这种情况下使用数组 function getOptions() { let programRequest = someAsynFunc(...); let overviewTypeRequest = someOtherAsynFunc(...); return Promis
Promise.all
中的回调参数更具可读性?我真的不喜欢在这种情况下使用数组
function getOptions() {
let programRequest = someAsynFunc(...);
let overviewTypeRequest = someOtherAsynFunc(...);
return Promise.all([programRequest, overviewTypeRequest]).then(values => {
return {
programs: values[0],
overviewTypes: values[1]
}
});
}
是:使用ES6解构:
Promise.all([...]).then(([programs, overviewTypes] => ({programs, overviewTypes}));
// ^ destructuring ^ short object literal syntax
是:使用ES6解构:
Promise.all([...]).then(([programs, overviewTypes] => ({programs, overviewTypes}));
// ^ destructuring ^ short object literal syntax
请看一看阵列分解。您可以这样做:
return Promise.all([programRequest, overviewTypeRequest])
.then(([programs, overviewTypes]) => {
return {
programs,
overviewTypes,
}
});
由于变量与对象属性的名称相同,因此还可以利用对象速记符号
供参考:
看一看数组的分解。您可以这样做:
return Promise.all([programRequest, overviewTypeRequest])
.then(([programs, overviewTypes]) => {
return {
programs,
overviewTypes,
}
});
由于变量与对象属性的名称相同,因此还可以利用对象速记符号
供参考:
上帝赞美ES6!上帝赞美ES6!可能的重复可能的重复