【发布时间】:2015-04-24 14:19:16
【问题描述】:
我正在执行一个 forEach 循环,它对 Cloudinary 进行 API 调用,并且我正在使用响应数据构建一个数组。
收集完数据后,我需要将其发送到其他 API。
在发送数据之前如何等待承诺得到解决和收集的数据?
这是我的代码:
app.controller 'ProductImageUploaderController', ($upload, $routeParams, Product) ->
$routeParams.photos = []
@startUpload = ->
@files.forEach (file) ->
upload = $upload.upload(
url: 'https://api.cloudinary.com/v1_1/' + $.cloudinary.config().cloud_name + '/upload'
fields:
upload_preset: $.cloudinary.config().upload_preset
tags: 'dev'
folder: 'dev'
file: file
)
upload.success (data) ->
$routeParams.photos.push(file)
# Once the $routeParams.photos array is built, this is when I'd like to pass the data on.
return
【问题讨论】:
-
$q.all(): docs.angularjs.org/api/ng/service/$q#all
-
以下 JLRishe 提供的最佳答案。一个例子总是有帮助的。
标签: angularjs coffeescript promise angular-promise cloudinary