Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何合并两个响应并将其返回给promise?_Javascript_Arrays_Typescript_Async Await - Fatal编程技术网

Javascript 如何合并两个响应并将其返回给promise?

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

我正在打两个电话,我看到firstCallData打印数据很好,但是当我执行
+=
合并响应时,它会返回我下面添加到问题中的
响应
,有什么更好的方法来完成此任务

梅因酒店

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()
。感谢您提供了spread
const newItem={…data_0,…data_1}