gpt4 book ai didi

javascript promise 不传递所有参数(使用 Q)

转载 作者:IT老高 更新时间:2023-10-28 23:03:11 25 4
gpt4 key购买 nike

我无法传递所有参数。我的 promise 回调只收到一个而不是三个:

var asyncFunction= function(resolve) {
setTimeout(function() {
resolve("Some string that is passed", "and another", "third");
}, 1000);
};

var promiseFunction = function () {
var deferred = Q.defer();

asyncFunction(deferred.resolve);

return deferred.promise;
};

promiseFunction().then(function() {
// Only one argument is passed here instead of 3
// { '0': 'Some string that is passed' }
console.log(arguments);
});

知道我做错了什么吗?

最佳答案

Q Promise 可以 resolved 只使用一个参数 - Promise 代表一个单一的值,而不是它们的集合。如果您需要多个值,请将它们显式放入数组中。对于多参数回调,您可以使用 .spread() .

关于javascript promise 不传递所有参数(使用 Q),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17970420/

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