Javascript 如何合并两个响应并将其返回给promise?
我正在打两个电话,我看到firstCallData打印数据很好,但是当我执行Javascript 如何合并两个响应并将其返回给promise?,javascript,arrays,typescript,async-await,Javascript,Arrays,Typescript,Async Await,我正在打两个电话,我看到firstCallData打印数据很好,但是当我执行+=合并响应时,它会返回我下面添加到问题中的响应,有什么更好的方法来完成此任务 梅因酒店 let data = await this.processResponse(__data.Details[0]); console.log("firstCallData" , data); data += await this.orderResponse(__data.Details[1]); cons
+=
合并响应时,它会返回我下面添加到问题中的响应
,有什么更好的方法来完成此任务
梅因酒店
let data = await this.processResponse(__data.Details[0]);
console.log("firstCallData" , data);
data += await this.orderResponse(__data.Details[1]);
console.log("DATA", data);
return Promise.resolve(data);
答复:
[object Object][object Object]
我会使用
Object.assign()
()
Object.assign()
方法用于将所有可枚举自身属性的值从一个或多个源对象复制到目标对象。它将返回目标对象
例如:
let data1 = await this.processResponse(__data.Details[0]); //let's say this promise returns {foo: 4, bar: 49}
console.log("firstCallData" , data1);
let data2 = await this.orderResponse(__data.Details[1]); //and this one returns {baz: 69, bar: 42}
data = Object.assign(data2, data1);
console.log("DATA", data);
return Promise.resolve(data);
它将“合并”对象并返回以下内容:
{foo: 4, bar: 49, baz: 69}
请注意,对于重叠属性,它选择源对象而不是目标对象(
data2
)。+
不合并对象。根据您实际尝试的操作,您可能需要Object.assign()
。感谢您提供了spreadconst newItem={…data_0,…data_1}代码>