我看了一下bluebird promise FAQ,其中提到了这.then(success, fail)
是一个反模式.我不太了解它对try和catch的解释.以下是什么问题?
some_promise_call()
.then(function(res) { logger.log(res) }, function(err) { logger.log(err) })
Run Code Online (Sandbox Code Playgroud)
似乎这个例子建议以下是正确的方法.
some_promise_call()
.then(function(res) { logger.log(res) })
.catch(function(err) { logger.log(err) })
Run Code Online (Sandbox Code Playgroud)
有什么不同?
如何正确构造一个循环以确保后续的promise调用和链式logger.log(res)通过迭代同步运行?(蓝鸟)
db.getUser(email).then(function(res) { logger.log(res); }); // this is a promise
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法(来自http://blog.victorquinn.com/javascript-promise-while-loop的方法)
var Promise = require('bluebird');
var promiseWhile = function(condition, action) {
var resolver = Promise.defer();
var loop = function() {
if (!condition()) return resolver.resolve();
return Promise.cast(action())
.then(loop)
.catch(resolver.reject);
};
process.nextTick(loop);
return resolver.promise;
});
var count = 0;
promiseWhile(function() {
return count < 10;
}, function() {
return new Promise(function(resolve, reject) {
db.getUser(email)
.then(function(res) {
logger.log(res);
count++;
resolve();
});
});
}).then(function() {
console.log('all done');
}); …
Run Code Online (Sandbox Code Playgroud) 我试图找到一种方法来突出显示Notepad ++中选定的代码块,就像Microsoft Word允许您为文档做的那样.这可能吗?
我的wpf程序在具有相同规格的不同计算机上的启动性能方面存在一个奇怪的问题.一台计算机加载我的程序不到一秒钟.具有相同规格的另一台计算机加载10秒以上.
在Visualstudio性能分析器的帮助下,我注意到两台计算机以不同方式加载程序!这太奇怪了.
我的问题与这篇文章基本相同: C#WPF应用程序启动速度非常慢
"快速"计算机上的性能分析器(我的意思是快速启动程序)显示该程序以System.Windows.Application开头.运行(),而"慢"表示它以System.Windows.Application开头.RunInternal(...)
使用额外的"内部",即使两台计算机的规格相同且源代码相同,启动时间也会增加10倍.(实际上,它只是普通的mvvm light WPF启动文件)
有任何想法吗?
如图所示,rotCount为1.0f.但是,当将rotCount与0.0f进行比较时,调试器会输入if语句,这不应该发生.
我使用Visual Studio 2010的默认调试模式,优化关闭.这是这段代码的拆卸.
似乎在fcomp之后,没有生成测试和跳转汇编代码.这被认为是VS2010中的错误吗?谁知道为什么?
bluebird ×2
javascript ×2
node.js ×2
promise ×2
.net ×1
assembly ×1
c# ×1
c++ ×1
compare ×1
highlight ×1
notepad++ ×1
optimization ×1
performance ×1
wpf ×1