【发布时间】:2015-10-23 15:48:08
【问题描述】:
我正在 Parse 中开发一个应用程序,我正在尝试理解 Promise。除了这里非常简单的示例之外,我没有找到很多工作示例:https://parse.com/docs/js/guide。
我正在查询 _User 表。然后我在 _.each 循环中遍历用户。我在每次迭代的循环内运行 2 个云函数。我在什么时候创建承诺?我是否为循环中的每个云功能成功创建一个?或者我是否将每个成功返回值推送到一个数组中,并将其作为循环之外的承诺值?我都试过了,但似乎都找不到正确的语法。
我将把它分解成伪代码,因为这可能比实际代码更容易:
var query = new Parse.Query(Parse.User); query.find().then(function(users){
- 在 _.each 循环中遍历每个用户,并为每个用户运行一个返回数字的云函数。
- 如果数字 > 0,那么我将他们的用户名推送到 array1。
- 然后我在用户上运行第二个云函数(仍在 _.each 循环内),它返回一个数字。
- 如果数字 > 0,那么我将他们的用户名推送到 array2。
}).then(function(promisesArray){
// 我希望“promisesArray”是上一节中创建的 2 个数组,或者是它们的串联。
// 最终,我需要一个用户名列表。具体来说,上一节中从云函数中获得正数值的用户
- 连接 2 个数组(如果它们尚未连接)
- 删除重复项
- 向数组中的用户发送推送通知 });
问题: - 我在什么时候创建和返回承诺以及我应该使用什么语法? - .then(function(promisesArray){ 应该是 .when(function(promisesArray){ (when 而不是 then)?
【问题讨论】: