我正在研究角度1项目到角度2的迁移.在angular 1项目中,我使用angular.equals进行对象比较angular.equals($ctrl.obj1, $ctrl.newObj);,我在线搜索了角度2中的等效方法,但找不到任何匹配的结果.
我观察到在角度2中,promise API没有finally块
角1:
loadUsers() {
fetch('/api/users').then((response) => {
return response.json();
}).then((data) => {
this.users = data;
}).catch((ex) => {
console.error('Error fetching users', ex);
}).finally(() => {
this.userLoaded = true;
};
Run Code Online (Sandbox Code Playgroud)
假设我必须在角度2中做同样的事情
如何在角度2承诺中添加finally块,截至目前只有then & catch blocks角度2可用.如果不是最后那么在执行每个方法之后有没有办法添加清理代码,我在哪里编写代码来做最后的阻塞活动?
我有以下类结构
public class ClassA
{
public ClassB objB;
}
Public class ClassB
{
public ListOfData objListofData;
}
public class ListOfData
{
public Employee objEmp;
}
public class Employee
{
public string FirstName;
public string LastName;
}
Run Code Online (Sandbox Code Playgroud)
上面层次结构的返回类型是
"ClassA":{
"classB":{
"ListOfData":{
"employee":{
"FirstName":"David",
"LastName" :"Peter"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想将employee类映射到EmployeeViewModel,其中Employee firstname和lastname将映射到employeeViewModel FullName属性.我可以通过遵循一段代码来实现这一点
public class EmployeeViewModel
{
public FullName;
}
CreateMap<Employee,EmployeeViewModel>()
.ForMember(dest => dest.FullName,
opts => opts.MapFrom(
src => string.Format("{0} {1}",
src.FirstName, src.LastName)));
Run Code Online (Sandbox Code Playgroud)
现在我如何返回原始classA对象,它具有EmployeeViewModel的映射.这样的事情?
"ClassA":{
"classB":{
"ListOfData":{
"EmployeeViewModel":{
"FullName":"David Peter"
}
} …Run Code Online (Sandbox Code Playgroud) .net-core ×2
angular ×2
c# ×2
angularjs ×1
asp.net-core ×1
automapping ×1
javascript ×1
msbuild ×1
object ×1
typescript ×1