4
var viewmodel = service.createCustomer();
은 requirejs 모듈을 호출하는 방법입니다.promise/ajax 호출에서 jquery를 사용하여 값을 반환하십시오.
createCustomer가 서비스 호출 내에서 생성 된 CreateCustomerViewModel을 반환하는 지연 객체를 어떻게 생성해야합니까?
define(['viewmodels/CreateCustomerViewModel'],function (CreateCustomerViewModel) {
function createCustomer() {
$.getJSON('Customer/Create')
.done(function (response) {
return new CreateCustomerViewModel(response);
})
.fail(function (error) {
alert(error);
});
}
return {
createCustomer: createCustomer
};
});
2 가지 : var를 통해 반환 값을 얻고 싶습니다. viewmodel = service.createCustomer() .done .fail은 서비스 오류 일 수 있기 때문에 서비스 내에 있어야합니다. 뷰 모델은 그것을 모릅니다. 더 이상 그 GET 요청은 데이터를 게시하지 않기 때문에 formular에 대한 데이터를 검색 한 후 나중에 게시 할 것입니다 ;-) – Elisabeth
'$ .getJSON'은 비동기식이므로 'viewmodel = service.createCustomer() '. 고전 콜백 또는 약속 (더 나은) 중 하나를 사용해야합니다. –
jQuery를 사용하는 경우 <1.8은'then' 대신'pipe'를 사용합니다. 나는 이것을 처리하는 데 몇 시간을 낭비했다. – nikoskip