我在我的网络应用程序中有一个功能,我可以在数据中添加数据。但到目前为止,我只能通过我的方法中的参数添加一个属性
代码在按钮单击时执行,该按钮单击调用add函数。
然后调用模板服务函数create(name, name2)
。
createsharecase.component.ts
// Function to add a case
add(name: string, name2: string): void {
name = name.trim();
name2 = name2.trim();
if (!name) { return; }
this.templateService.create(name, name2).then(cases =>
{ this.cases.push(cases); })
console.log("Name1: " + name + " Name 2: " + name2)}
// Create a template
create(name: string, name2: string): Promise<ICase> {
console.log("Template service method: " + name2);
return this._http
.post(this._caseUrl, JSON.stringify
({ name: name, name2: name2 }), { headers: this.headers })
.toPromise()
.then(res => res.json().data as ICase)
.catch(this.handleError)};
这是我的代码的输出:
答案 0 :(得分:-1)
您可以使用对象或数组解析承诺。我相信没有多方面的承诺。
使用对象解析:
new Promise ((resolve, reject) => {
// ... something fancy
resolve({
data: {
// your args goes there
}
err: {
}
});
// ... if error
reject({
data: {
}
err: {
// errors
}
})
});
使用数组解析非常接近于对象解析:
new Promise ((resolve, reject) => {
// ... something fancy
resolve({
data: [
// your cases go there
]
err: {
}
});
// ... if error
reject({
data: {
}
err: {
// errors
}
})
});
// While the object is passed to then:
const { data: { value1, value2 } } = resolveValue;
const { value1, value2 } = resolveValue.data;
// While the array is passed:
const [ case1, case2 ] = resolveValue.data;