我想在swift代码中执行以下操作:
我必须打电话给我的api以更新几个项目.所以我异步调用每个项目的api.每个api调用在完成后执行回调函数.这些回调减少了一个计数器,所以当计数器达到0时,我知道所有的api调用都已完成.当计数器达到0时,我想调用最终回调函数(一次,当所有调用完成时),以便更新我的UI等等.最后的回调是在开始时传递给我的服务并存储在类属性中以便以后执行.
可执行游乐场来源:
// Playground - noun: a place where people can play
class MyService
{
let api = MyApi()
var storedFinalCallback: () -> Void = { arg in }
var queue: Int = 0
func update(items: [String], finalCallback: () -> Void )
{
// Count the necessary API calls
queue = items.count
// Store callback for later execution
storedFinalCallback = finalCallback
for item in items {
// Call api per item and pass queueCounter as async callback
api.updateCall(item, callback: …Run Code Online (Sandbox Code Playgroud) 我试图通过gitlab页面主持reveal.js演示文稿.可以在此处找到存储库:https://gitlab.com/JanGregor/demo-slides
我.gitlab-ci.yml很简单:
image: node:4.2.2
pages:
cache:
paths:
- node_modules/
script:
- npm install
- node_modules/.bin/gulp
artifacts:
paths:
- build
only:
- master
Run Code Online (Sandbox Code Playgroud)
在承诺掌握之后,出了点问题.页面任务本身被执行并运行得很好.它甚至在日志中显示我的构建目录已被扫描并且已找到人工制品.
奇怪的是,后续pages:deploy任务失败了.它只说:
页面无法提取
任何帮助将不胜感激,因为我不知道接下来要去哪里.在尝试使用npm实现部署流时,文档本身并没有什么用处.
在此先感谢大家!