解析 Promise return 一个值
Parse Promise return a value
我有一个运行查询(返回承诺)然后操作返回数据的函数。如何让调用函数访问 操纵的 数据?
调用是这样的:
getAgeGroupList().then(function (result) {
// Would like to access manipulated data here.
});
功能如下。 query.find()
returns Parse 中的 Promise。
function getAgeGroupList(){
var query = new Parse.Query("Fixtures_and_results");
return query.find({
success: function(results) {
/* Manipulate results here, then return manipulated data */
// How do I return the manipulated data? e.g return(newArray)
},
error: function(error) {
}
});
}
如果 query.find
return 是一个承诺,那么您不想使用 success
和 error
处理程序;相反,使用 then
来操纵值:
function getAgeGroupList(){
var query = new Parse.Query("Fixtures_and_results");
return query.find().then(results => {
// Manipulate results here
return updatedResults;
});
}
这将 return 一个新的 promise,它将通过您操纵的结果而不是原始结果来解决。这是承诺链。
如果 query.find
调用失败,它的承诺将被拒绝,并且由 then
创建的承诺将传递该拒绝(不调用 then
处理程序)。
我在上面使用了一个箭头函数,但是看看你的代码,它除了承诺之外没有使用任何 ES2015+ 功能。所以你可能想要:
function getAgeGroupList(){
var query = new Parse.Query("Fixtures_and_results");
return query.find().then(function(results) { // <=== Changed to traditional function
// Manipulate results here
return updatedResults;
});
}
相反。
我有一个运行查询(返回承诺)然后操作返回数据的函数。如何让调用函数访问 操纵的 数据?
调用是这样的:
getAgeGroupList().then(function (result) {
// Would like to access manipulated data here.
});
功能如下。 query.find()
returns Parse 中的 Promise。
function getAgeGroupList(){
var query = new Parse.Query("Fixtures_and_results");
return query.find({
success: function(results) {
/* Manipulate results here, then return manipulated data */
// How do I return the manipulated data? e.g return(newArray)
},
error: function(error) {
}
});
}
如果 query.find
return 是一个承诺,那么您不想使用 success
和 error
处理程序;相反,使用 then
来操纵值:
function getAgeGroupList(){
var query = new Parse.Query("Fixtures_and_results");
return query.find().then(results => {
// Manipulate results here
return updatedResults;
});
}
这将 return 一个新的 promise,它将通过您操纵的结果而不是原始结果来解决。这是承诺链。
如果 query.find
调用失败,它的承诺将被拒绝,并且由 then
创建的承诺将传递该拒绝(不调用 then
处理程序)。
我在上面使用了一个箭头函数,但是看看你的代码,它除了承诺之外没有使用任何 ES2015+ 功能。所以你可能想要:
function getAgeGroupList(){
var query = new Parse.Query("Fixtures_and_results");
return query.find().then(function(results) { // <=== Changed to traditional function
// Manipulate results here
return updatedResults;
});
}
相反。