gpt4 book ai didi

javascript - 在干净的 JavaScript 中等待异步函数

转载 作者:行者123 更新时间:2023-12-02 16:08:59 28 4
gpt4 key购买 nike

我目前正在使用 XMLHttpRequest(),因此我有一个异步函数。我希望能够在 XMLHttpRequest 完成后运行一些代码。到目前为止我的代码:

var method = function() {
this.func = function(param) {
_xmlrequestfunc(param, function(r) {
// return something
}
}
}

我希望能够使用此功能执行以下操作:

method.func('POST').Then(
// Do something when method.func() is finished
)

我想用干净的 JavaScript 来做这件事...这可能吗?如果可能的话,有人能解释一下它是如何完成的吗?提前致谢!

最佳答案

如果你想在干净的 JS 中使用它,你可以从你的 func() 返回这个自制的 promise :

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) {});

关于javascript - 在干净的 JavaScript 中等待异步函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30436979/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com