gpt4 book ai didi

javascript - 如何在 Promise 中传递参数

转载 作者:行者123 更新时间:2023-11-28 12:26:49 37 4
gpt4 key购买 nike

我正在使用这样的 promise :

var restClient = {
serveRequest: function(rUrl, type, body, rHeaders, rAsync, callback) {
var promise = jQuery.ajax({
url: rUrl,
type: type,
data: body,
headers: rHeaders,
async: rAsync,
contentType: "text/plain",
dataType: "json"
});

promise.then(onSuccess, onError);
},
onSuccess: function(data) {
callback(data);
},
onError: function(msg) {
console.log(msg.responseText);
}
}

如何在promise.then onSuccess 中传递参数(回调)?我想稍后在 onSuccess 方法中使用它。

最佳答案

I am using promise like this

嗯,首先,你不应该这样做。 Promise 的目的是作为异步函数的结果返回,以便您不再需要回调参数。你最好这样做

var restClient = {
serveRequest: function(rUrl, type, body, rHeaders, rAsync) {
var promise = jQuery.ajax({
url: rUrl,
type: type,
data: body,
headers: rHeaders,
async: rAsync,
contentType: "text/plain",
dataType: "json"
});
return promise;
}
};

并让 restClient.serveRequest(…) 的调用者调用 .then(…)

How can I pass arguments (callback) in promise.then onSuccess?

您不需要 onSuccess。直接使用即可

promise.then(callback, function(msg) {
console.log(msg.responseText);
});

I want to use that in onSuccess method later.

你不能。它尝试使用callback,但这是serveRequest方法的本地参数 - 因此onSuccess最多可能是其中的本地函数,但它本身并不是一种方法。

关于javascript - 如何在 Promise 中传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27440281/

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