小编Mik*_*uso的帖子

如何测试对象是否是NodeJS中的Stream

我有接收的对象可以是一个函数string,BufferStream.

我可以很容易地测试对象是否像这样的缓冲区: if (x instanceof Buffer)

测试对象是否为Stream的最佳方法是什么?节点中似乎没有Stream基类 - 是吗?

我应该寻找什么?

node.js

21
推荐指数
3
解决办法
7916
查看次数

在Javascript中缓存和预取即将到期的承诺

Promise是我在Javascript中管理异步代码的首选方式.Memoize(memoizee on npm)是一个Javascript库,用于轻松缓存和预取功能结果.

理想情况下,我希望将两者中的优点结合起来,并且能够"过期"Promise并预先获取新的Promise结果(当缓存被触及并接近到期时).Memoize可以做到这一点,但它并没有考虑到Promise.

(我知道Promises有一个内置的"永远缓存",因为它们的性质,但对我的应用来说永远是太久了)

到目前为止,我做到这一点的最佳尝试如下(使用bluebird,memoizeunderscore的 node.js示例):

var memoize = require('memoizee')
  , Promise = require('bluebird')
  , _ = require('underscore')
  ;

// returns a memoized Promise-generating function
function memoizePromiser(funcReturningPromise, options) {
    var opts = _.defaults(options || {}, {async: true});

    return Promise.promisify(memoize(function(){
        var args = _.initial(arguments);
        var cb = _.last(arguments);
        funcReturningPromise.apply(this, args).nodeify(cb);
    }, opts));
};
Run Code Online (Sandbox Code Playgroud)

这个函数将允许我记忆异步函数(具有类似节点的回调)返回一个promise,同时还提供Memoize库提供的所有缓存到期(+更多)功能.

然而,这种方法对我来说似乎很乱并且过度设计.我想我自己 - 这肯定是一个常见的问题,而其他人已经提出了更优雅的解决方案吗?

这是我尝试做的最好的方法吗?还有另一个像memoize这样专门为promises设计的库吗?我错过了一个更简单的解决方案吗?

任何指导将不胜感激.

javascript memoization node.js promise bluebird

7
推荐指数
1
解决办法
1393
查看次数

回发后属性为null - 动态加载控件

我知道这个问题之前已被问过多次,但我怀疑我有一个独特的场景.

我正在加载一个Child Control(ASCX)并在该Control上设置一个Property.这个工作完全正常,直到postback属性为null.

这里加载ChildControl的First Class:

protected override void CreateChildControls()
{
    MyUserControl control = (MyUserControl)Page.LoadControl(_ascxPath);
    control.MyProperty = base.MyProperty
    Controls.Add(control);
}
Run Code Online (Sandbox Code Playgroud)

然后,在我的Child Control上,我得到了以下代码:

public partial class MyUserControl : UserControl
{
    public MyType MyProperty { get; set; }
    protected void Page_Load(object sender, EventArgs e)
    {
        //Exception on next line because Property is null (only on postback)
        var somevalue = MyProperty.SubProperty;
Run Code Online (Sandbox Code Playgroud)

asp.net ascx

6
推荐指数
2
解决办法
1万
查看次数

从Access获取最后一个插入ID

我熟悉MySQL函数LAST_INSERT_ID; 是否有类似的功能通过ODBC与MS Access数据库执行相同的查询?

在我的特定情况下,我使用PHP + PDO将行插入Access数据库,并希望知道每个插入执行时的最后一个主键值.

如果没有此功能,还有其他选择吗?(不更改数据库)

谢谢.

php sql ms-access pdo insert

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

标签 统计

node.js ×2

ascx ×1

asp.net ×1

bluebird ×1

insert ×1

javascript ×1

memoization ×1

ms-access ×1

pdo ×1

php ×1

promise ×1

sql ×1