小编cos*_*olf的帖子

在NSURLConnection中从Swift中的completionHandler中获取数据

我正在尝试编写一个将执行异步GET请求的函数,并返回响应(作为任何数据类型,但在这里它是NSData).

这个问题基于:如何使用NSURLConnection completionHandler和swift

func getAsynchData() -> NSData {
    var dataOutput : NSData
    let url:NSURL = NSURL(string:"some url")
    let request:NSURLRequest = NSURLRequest(URL:url)
    let queue:NSOperationQueue = NSOperationQueue()

    NSURLConnection.sendAsynchronousRequest(request, queue: queue, completionHandler:{ (response: NSURLResponse!, data: NSData!, error: NSError!) -> Void in
            /* this next line gives the below error */
            dataOutput = data
    })
    return dataOutput
}
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

error: variable 'dataOutput' captured by a closure before being initialized
Run Code Online (Sandbox Code Playgroud)

我已经尝试从completionHandler返回值,但它需要一个void返回,这让我想起了我希望在没有帮助的情况下解决这个问题......:D

我看过: 如何在Swift中使用completionHandler Closure返回? 但这并没有真正回答我的问题.我的目标是从我的异步请求中获取数据,以便在我的代码中的其他地方使用.我是否应该在此块中执行此请求的所有工作而不是获取数据?

谢谢!

编辑

好的,所以我有一个选项,我觉得可能有用,但对我来说似乎不对.有人能告诉我这是否是实现目标的最佳方式?

func doThingsWithData( data: NSData ) -> …
Run Code Online (Sandbox Code Playgroud)

closures nsurlrequest completionhandler swift

13
推荐指数
1
解决办法
5912
查看次数

Meteor.js和LDAP

有可能在不久的将来将LDAP身份验证集成到Meteor.js中吗?

关于如何让它今天起作用的任何提示?

ldap node.js meteor

7
推荐指数
2
解决办法
3374
查看次数

将Ember与Rails 4集成后获取断言失败错误

我在Ember中创建了一个小型库存应用程序,并按照有关添加Rails 4作为持久层的教程:http: //pixelhandler.com/blog/2013/09/24/scaffold-for-a-browser-app-built-与-烬-JS-和导轨/

但是现在我在控制台中收到以下错误:

Assertion failed: You included Ember Data but didn't define App.Store
Run Code Online (Sandbox Code Playgroud)

页面加载正常,它呈现我的index.erb和application.html.erb,但我从渲染的ember位得不到任何结果.

我对如何解决这个问题感到有点失落.有人能指出我正确的方向吗?

谢谢!

更新: 我也收到此错误:

Uncaught TypeError: Attempting to register an unknown factory: `store:main`  
Run Code Online (Sandbox Code Playgroud)

我在store.js中定义了App.Store:

App.Store = DS.Store.extend({
   adapter: DS.RESTAdapter.create()
});
Run Code Online (Sandbox Code Playgroud)

javascript ruby ruby-on-rails ember.js

5
推荐指数
1
解决办法
2818
查看次数

如何访问隐藏在DS.PromiseArray中的数组数据

这是一个跟进:访问ember.js中的另一个模型数据

我有一种情况,我想用选择的多选框过滤列表.发送数据时,this.store.find('tag')始终返回DS.PromiseArray.Ember.Select似乎处理得很好,但选择的多选择似乎不喜欢它.我见过这样的事情:

this.store.find('tag').then(function(items) {
   return items.map(function(item){
      return [item.get('id'), item.get('name')]
   })
})
Run Code Online (Sandbox Code Playgroud)

但我似乎总是在地图函数上得到一个typeerror {} ...

这是一个概述问题的jsfiddle:http: //jsfiddle.net/viciousfish/TEZjW/

奖励积分!演示将所选的选择显示为单个选择(为清晰起见).我想用这个作为一个多选择,这可以通过设置来设置multiple: trueApp.MultipleSelect

这里更新是另一个我认为应该工作的jsfiddle,但似乎不是!http://jsfiddle.net/viciousfish/FZ6yw/1/

更进一步,这个小提琴表明.then应该能够解构promiseArray http://jsfiddle.net/marciojunior/DGT5L/

javascript jquery promise ember.js

3
推荐指数
1
解决办法
2778
查看次数