sap.ui.define([
"sap/ui/core/mvc/Controller"
], function(Controller) {
"use strict";
return Controller.extend("blogs.sap.com.Controller", {
readData: function() {
var that = this;
that.getModel().read("/DataSet", {
success: function(oData, oResponse) {
// we got ourselves some data
that.doSthWithTheData(oData);
},
error: function(oError) {
// something went terribly wrong
that.handleTheError(oError);
}
});
}
});
});sap.ui.define([
"sap/ui/core/mvc/Controller"
], function(Controller) {
"use strict";
return Controller.extend("com.sap.blogs.Controller", {
readData: function() {
var that = this;
return new Promise(function(fnResolve, fnReject) {
that.getModel().read("/DataSet", {
success: function(oData, oResponse) {
// we got ourselves some data
fnResolve({
data: oData,
response: oResponse
});
},
error: function(oError) {
// something went terribly wrong
fnReject(new Error(oError.message));
}
});
})
}
});
});sap.ui.define([], function () {
"use strict";
function _promisify(oModel, sMethod, iParametersIndex) {
return function () {
var aArguments = [].slice.call(arguments);
return new Promise(function (fnResolve, fnReject) {
var mParameters = aArguments[iParametersIndex] || {};
aArguments[iParametersIndex] = Object.assign(mParameters, {
success: function (oData, oResponse) {
fnResolve({
data: oData,
response: oResponse
});
},
error: function (oError) {
fnReject(new Error(oError.message));
}
});
oModel[sMethod].apply(oModel, aArguments);
});
};
}
return function promisify(oModel) {
return {
create: _promisify(oModel, "create", 2),
read: _promisify(oModel, "read", 1),
update: _promisify(oModel, "update", 2),
remove: _promisify(oModel, "update", 1),
callFunction: _promisify(oModel, "callFunction", 1)
};
};
});sap.ui.define([
"sap/ui/core/mvc/Controller",
"sap/base/Log",
"com/sap/blogs/promisify"
], function(Controller, Log, promisify) {
"use strict";
return Controller.extend("com.sap.blogs.Controller", {
onInit: function() {
this._oModel = promisify(this.getModel());
},
onExit: function() {
this._oModel = null;
delete this._oModel;
},
usePromisify: function() {
var that = this;
Promise
.all([
//create
that._oModel.create("/DataSet", {
some: "data"
}),
// read
that._oModel.read("/DataSet"),
// update
that._oModel.update("/DataSet(guid'x-x-x-x-x')", {
some: "update"
})
])
.then(function(aResults) {
// delete
return that._oModel.delete("/DataSet(guid'x-x-x-x-x')");
})
.then(function(oResult) {
// callFunction
return that._oModel.callFunction("/Function");
})
.catch(function(oError) {
Log.error(oError.stack);
});
}
});
});You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 47 | |
| 21 | |
| 18 | |
| 16 | |
| 13 | |
| 13 | |
| 13 | |
| 12 | |
| 12 | |
| 12 |