Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var async = {
- error: function (error) {
- return {
- run: function (callback) {
- callback({ error: error });
- }
- }
- },
- _return: function (arg) {
- return {
- run: function (callback) {
- callback({ result: arg });
- }
- }
- },
- getIdentity: function (v) {
- return _return(v);
- },
- fmap: function (asyncValue, f) {
- return {
- run: function (callback) {
- asyncValue.run(function (callbackResult) {
- if (callbackResult.result != undefined) {
- callback({ result: f(callbackResult.result) });
- } else {
- callback(callbackResult);
- }
- });
- }
- }
- },
- bind: function (asyncValue, f) {
- return {
- run: function (callback) {
- asyncValue.run(function (callbackResult) {
- if (callbackResult.result != undefined) {
- callback(f(callbackResult.result));
- } else {
- callback(callbackResult);
- }
- });
- }
- }
- },
- ajax: function (args) {
- return {
- run: function (callback) {
- $.ajax({
- type: args.type,
- url: args.url,
- data: args.data,
- contentType: args.contentType,
- dataType: args.dataType,
- success: function (data, success, failure) {
- callback({ result: data });
- },
- error: function (xhr, status, error) {
- callback({ error: error });
- }
- });
- }
- }
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment