在干净的JavaScript中等待异步函数
我目前正在使用XMLHttpRequest(),因此我有一个异步函数。我希望能够在XMLHttpRequest完成后运行一些代码。到目前为止,我的代码是: 我希望能够使用此函数执行以下操作:在干净的JavaScript中等待异步函数,javascript,asynchronous,Javascript,Asynchronous,我目前正在使用XMLHttpRequest(),因此我有一个异步函数。我希望能够在XMLHttpRequest完成后运行一些代码。到目前为止,我的代码是: 我希望能够使用此函数执行以下操作: 我想用干净的JavaScript做这个。。。这可能吗?如果可能,有人能解释一下是如何做到的吗?提前谢谢 只需将函数作为回调传递 this.func = function(param, callback) { _xmlrequestfunc(param, function(r) {
我想用干净的JavaScript做这个。。。这可能吗?如果可能,有人能解释一下是如何做到的吗?提前谢谢 只需将函数作为回调传递
this.func = function(param, callback) {
_xmlrequestfunc(param, function(r) {
if(callback) callback();
// return something
}
}
.....
this.func({yourprams}, responseFunc);
function responseFunc() {
//I am being called after the successful completion of XMLRequest.
}
如果您想将其保存在干净的JS中,您可以从
func()
返回这个自制的承诺:
通过这种方式,您可以根据需要使用返回值:
method.func('POST').Then(function (theAnswer) {});
this.func = function(param, callback) {
_xmlrequestfunc(param, function(r) {
if(callback) callback();
// return something
}
}
.....
this.func({yourprams}, responseFunc);
function responseFunc() {
//I am being called after the successful completion of XMLRequest.
}
var promise = {
resolve: function (data) {
this.callback(data);
},
Then: function (callback) {
this.callback = callback;
}
};
_xmlrequestfunc(param, function(r) {
promise.resolve(42);
});
return promise;
method.func('POST').Then(function (theAnswer) {});