Tag: asynchronous

如何保护可能在multithreading或asynchronous环境中使用的资源?

我正在研究一个被各种消费者使用的C#API。 这个API提供对共享资源的访问(在我的情况下是用来进行串行通信的硬件),通常会有几个不同的参与者试图同时使用它。 我的问题是,我的一些消费者会想要在multithreading环境中使用它 – 每个angular色独立工作,并尝试使用资源。 一个简单的锁在这里工作正常。 但是,我的一些消费者更喜欢使用asynchronous等待和时间片资源。 (据我所知)这需要一个asynchronouslocking产生时间片回到其他任务; 在锁上阻塞会阻止整个线程。 而且我认为有串行锁是最好的,最坏的情况是潜在的竞争条件或死锁。 那么我怎样才能保护共享代码库中的共享资源,以实现潜在的并发使用?

findObjectsInBackgroundWithBlock:从Parse获取数据,但数据只存在于块内

我做了以下testing类来尝试从Parse中检索数据: -(void)retrieveDataFromParse { PFQuery *query = [PFQuery queryWithClassName:@"TestObject"]; [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { if(!error){ for (PFObject *object in objects){ NSString *nameFromObject = [NSString stringWithFormat:@"%@", [object objectForKey:@"Name"]]; NSString *dateFromObject = [NSString stringWithFormat:@"%@", [object createdAt]]; NSString *scoreFromObject = [NSString stringWithFormat:@"%@", [object objectForKey:@"Score"]]; [self addNewScore:scoreFromObject andDate:dateFromObject forUserName:nameFromObject]; NSLog(@"The dictionary is %@", self.scoreDictionary); //<– here it works printing […]

如何select通过jQuery load()函数加载的元素?

我目前遇到以下问题(下面是一些示例代码): <div id="container"></div> <script type="text/javascript"> $('#container').load('content.html'); $('.elementInContentHTML').fadeIn(); </script> 简而言之,我希望能够访问已经dynamic添加到页面的元素,而不将它们附加到事件处理程序。 我知道live()方法,但我不想将自己的行为绑定到任何事件上,也就是说,我只是想用这些新元素来运行一些操作,而不用点击它们,聚焦,模糊等等。

从asynchronousJavaScript方法返回值?

我遇到了一个问题,我似乎无法从我在Jquery中运行的asynchronousJavaScript方法获取值。 我的jquery看起来像这样: $(document).ready( function() { $('#splash_image_upload').change( function() { var file = this.files[0]; var blob_string = create_blob(file); alert(blob_string); }); 我能够访问来自'onload'事件的值,但我似乎无法返回实际值。 我试过这个:` function create_blob(file) { var reader = new FileReader(); reader.onload = (function() { return function(e) { return e.target.result; }; })(); reader.readAsDataURL(file); } 每次我执行这个函数时,'blob_str'variables的值都是'undefined',可能是因为赋值是在函数完成之前完成的。 我不太清楚如何去做这件事。 有没有一种方法,我可以从这个函数返回这个值?

ES6承诺 – 像async.each?

试图找出如何find像async.eachSeriesfunction完全一样的东西,我需要按顺序(不是并行)运行的asynchronous操作列表,但无法find一种方法来执行本地ES6,任何人都可以build议,请? PS想到发电机/产量,但没有经验,所以我没有意识到它可以帮助我。 编辑1 每个请求,这里是一个例子: 假设这个代码: let model1 = new MongooseModel({prop1: "a", prop2: "b"}); let model2 = new MongooseModel({prop1: "c", prop2: "d"}); let arr = [model1 , model2]; 现在,我想以一系列的方式运行它,而不是平行运行,所以使用“asynchronous”NPM很容易: async.eachSeries(arr, (model, next)=>{ model.save.then(next).catch(next); }, err=>{ if(err) return reject(error); resolve(); }) 我的问题是:用ES6,我可以做到吗? 没有NPM的“asynchronous”包? 编辑2 与asynchronous/等待它可以很容易地完成: let model1 = new MongooseModel({prop1: "a", prop2: "b"}); let model2 = new […]

asynchronous文件复制/在C#中移动

在C#中进行文件复制/asynchronous移动的正确方法是什么?

asynchronous在Ajax中意味着什么?

asynchronous在Ajax中意味着什么? Ajax如何知道何时在没有服务器轮询的情况下提取数据?

是node.js的console.logasynchronous?

在node.js中是console.log/debug/warn/error asynchrounous? 我的意思是将JavaScript代码执行停止,直到东西被打印在屏幕上,或将在稍后阶段打印? 此外,我有兴趣知道是否有可能为console.log不显示任何东西,如果立即语句后崩溃节点。

asynchronous加载图像到UIImage

我正在开发iOS 4应用程序与iOS 5.0 SDK和XCode 4.2。 我必须展示一些博客到UITableView。 当我检索所有的Web服务数据时,我使用这个方法来创build一个UITableViewCell: – (BlogTableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString* cellIdentifier = @"BlogCell"; BlogTableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; if (cell == nil) { NSArray* topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"BlogTableViewCell" owner:nil options:nil]; for(id currentObject in topLevelObjects) { if ([currentObject isKindOfClass:[BlogTableViewCell class]]) { cell = (BlogTableViewCell *)currentObject; break; } } } […]

为什么我不能抛出一个Promise.catch处理程序?

为什么我不能在catchcallback中抛出一个Error ,让进程像在其他任何作用域一样处理错误? 如果我不做console.log(err)没有打印出来,我什么都不知道发生了什么。 这个过程刚刚结束… 例: function do1() { return new Promise(function(resolve, reject) { throw new Error('do1'); setTimeout(resolve, 1000) }); } function do2() { return new Promise(function(resolve, reject) { setTimeout(function() { reject(new Error('do2')); }, 1000) }); } do1().then(do2).catch(function(err) { //console.log(err.stack); // This is the only way to see the stack throw err; // This does nothing […]