当前位置: 首页 > 知识库问答 >
问题:

Javascriptpromise-多个返回回调

姜奇
2023-03-14

我用的是parse.com。每个包里面都有很多钻子,每个品类里面都有很多包。

我卡住了。然后(函数(result,result2,result3)在最后一行。promise可以有多个promise,它是可变的。有没有一种方法可以写出如下内容:

.then(function(multipleResults);
console.log(mulitpleResults);

谢谢!

html prettyprint-override">var Parse = require('parse/node').Parse;
var _ = require('underscore');

var TrainingPackage = Parse.Object.extend("TrainingPackage");
var TrainingCategory = Parse.Object.extend("TrainingCategory");   

var query2 = new Parse.Query(TrainingPackage);
var query = new Parse.Query(TrainingCategory);

query.equalTo("objectId", "kfHnYdd3T1");

query.find().then(function(cat){
	
	query2.equalTo("category_id", cat[0]);
	return query2.find();

}).then(function(results){

	var promises = [];

  	_.each(results, function(result) {

  			var Drill = Parse.Object.extend("Drill");
  			var query3 = new Parse.Query(Drill);
			
			query3.equalTo("package_id", result);

  			promises.push(query3.find());

  		});
    
  	return Parse.Promise.when(promises);

}).then(function(result, result2, result3){

	console.log(result);
	console.log(result2);
	console.log(result3);


});

共有1个答案

夏侯弘光
2023-03-14

由于promise的固有性质,它可能只能解析为一个单一的值。话虽如此,您可能想要做的是看看promise.allAPI。promissione.all将从一组promise中创建一个新的promise,当您的所有promise都被解决时,它将被解决。例如。

Promise.all([promise1, promise2]).then(function(results) {
    // Both promise1 and promise 2 resolved and available at variable results
})

Mozilla Promise API的工作示例:

var p1 = Promise.resolve(3);
var p2 = 1337;
var p3 = new Promise(function(resolve, reject) {
  setTimeout(resolve, 100, "foo");
}); 

Promise.all([p1, p2, p3]).then(function(values) { 
  console.log(values); // [3, 1337, "foo"] 
});
 类似资料:
  • 我用webpack建立了一个浏览器umd库。 我正在侦听输入文件的onchange事件。当有人提交图像/文件时,它会将其转换为base64。我试图让它尽可能看起来不那么明显,所以我使用了promises和wait/asynchttps://blog.shovonhasan.com/using-promises-with-filereader/. 但是,有一个问题-当我调用convertToBase

  • 问题内容: 我用Java写了一个函数,我希望这个函数返回多个值。除了使用数组和结构外,还有没有办法返回多个值? 我的代码: 问题答案: 在Java中,当您希望函数返回多个值时,必须 将这些值嵌入到您返回的对象中 或更改传递给函数的对象 在您的情况下,您显然需要定义一个可以包含,和的类: 然后将您的功能更改为

  • 我正在使用请求npm包,它只是一个包装在HTTP调用中的promise。我过去对promise有过意见。我如何获得一个promise返回一个值,以便我可以在react中使用它,或者获得一个promise在该promise中设置一个react状态变量?我需要一个API调用的特定数字来设置一个react状态变量。 对于这样的代码... 而且

  • 5.3. 多返回值 在Go中,一个函数可以返回多个值。我们已经在之前例子中看到,许多标准库中的函数返回2个值,一个是期望得到的返回值,另一个是函数出错时的错误信息。下面的例子会展示如何编写多返回值的函数。 下面的程序是findlinks的改进版本。修改后的findlinks可以自己发起HTTP请求,这样我们就不必再运行fetch。因为HTTP请求和解析操作可能会失败,因此findlinks声明了2

  • 本文向大家介绍PowerShell函数一次返回多个返回值示例,包括了PowerShell函数一次返回多个返回值示例的使用技巧和注意事项,需要的朋友参考一下 本文介绍在自定义PowerShell函数时,如何让函数返回值,如何接收返回值,如何让不相干的内容不放到返回值数组中。 PowerShell函数体中的任何输出,一般来说,都会以返回值的形式返回给函数调用者。多个输出的内容是放到一个返回值数组中的。

  • 问题内容: 例如我有一个功能: 我怎样才能返回AJAX后得到的? 问题答案: 因为请求是异步的,所以您无法返回ajax请求的结果(而同步ajax请求是一个 糟糕的 主意)。 最好的选择是将自己的回调传递给f1 然后,您将像这样致电: