javascript - Promise response argument getting lost -


i'm learning browser-provided promises , i'm having difficulty response argument getting lost , not coming through. code:

/* uploads resource given server , runs callback function when done */  function upload(serverurl, resource, successfulcallback, failcallback) {      console.log("upload successfulcallback: ", successfulcallback);      console.log("upload failcallback: ", failcallback);  	var jqxhr = $.ajax({  		url: serverurl,  		method: "post",  		type: "post",  		contenttype: "application/json",  		data: encode(resource),  		headers: {              accept: "application/json; charset=utf-8",              prefer: "return=minimal"          }  	}).done(function() {          console.log("upload done, jqxhr: ", jqxhr);  		successfulcallback(jqxhr);  	}).fail(function(err) {  		console.log("upload failed: " + err.responsetext);  		failcallback(jqxhr, err);  	});  }    function validate(endpoint, resource) {      var parameters = {          "resourcetype": "parameters",          "parameter": [{              "name": "resource",              "resource": resource                      }]              };             return new promise(function (resolve, reject) {          console.log("made new promise, resolve function is: ", resolve);          console.log("made new promise, reject function is: ", reject);          upload(endpoint + '/' + resource.resourcetype + "/$validate", parameters, resolve, reject);      });  }

and how make use of it:

    validate("http://fhir3.healthintersections.com.au/open", decode(leftfhirview.getvalue()))          .then(function(response) {              console.log("it worked! '", response, "'");          }, function(error) {              console.error("failed validation!", error.stack);          });

here's debugging output when run

main.js:45 made new promise, resolve function is:  u() { [native code] } main.js:46 made new promise, reject function is:  v() { [native code] } main.js:14 upload successfulcallback:  u() { [native code] } main.js:15 upload failcallback:  v() { [native code] } main.js:27 upload done, jqxhr:  object {readystate: 4, responsetext: "", <snip> main.js:196 worked! '  ' 

as can see, somewhere between successfulcallback(jqxhr) , response function, jqxhr turns 2 spaces. happening?

fixed returning jquery promise way through validate function.


Comments

Popular posts from this blog

php - How to display all orders for a single product showing the most recent first? Woocommerce -

asp.net - How to correctly use QUERY_STRING in ISAPI rewrite? -

angularjs - How restrict admin panel using in backend laravel and admin panel on angular? -