Sim*_*One 1 javascript parse-platform
我有一个函数,可以运行查询(返回承诺),然后处理返回的数据。如何获得调用函数以访问已操纵的数据?
调用是这样的:
getAgeGroupList().then(function (result) {
// Would like to access manipulated data here.
});
Run Code Online (Sandbox Code Playgroud)
并且功能如下。该query.find()回报承诺的解析。
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) {
}
});
}
Run Code Online (Sandbox Code Playgroud)
如果query.find返回承诺,那么您就不想使用success和error处理程序;而是使用then操纵值:
function getAgeGroupList(){
var query = new Parse.Query("Fixtures_and_results");
return query.find().then(results => {
// Manipulate results here
return updatedResults;
});
}
Run Code Online (Sandbox Code Playgroud)
这将返回一个新的承诺,该承诺将以您的操纵结果而不是原始结果来解决。这就是承诺链。
如果query.find调用失败,则其诺言将被拒绝,由创建的诺言then将传递该拒绝(不调用then处理程序)。
我在上面使用了箭头功能,但在您的代码中,它除了promise外没有使用任何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;
});
}
Run Code Online (Sandbox Code Playgroud)
代替。
| 归档时间: |
|
| 查看次数: |
768 次 |
| 最近记录: |