小编Dan*_*ham的帖子

Aurelia类构造函数vs激活

当导出作为aurelia中的视图模型的es6类时,我似乎能够在构造函数和激活函数中设置初始化代码.

这里有标准的约定吗?

我应该在一个而不是另一个中进行某些初始化吗?

用户没有实现es6类的激活功能吗?

javascript constructor aurelia

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

在开玩笑中嘲笑global.window

我有一个在节点和浏览器上运行的函数,我想用jest测试:

const myFn = () => {
  if(typeof window !== 'object'){
     return 1;
  }
  return 2;
}
Run Code Online (Sandbox Code Playgroud)

我如何能够将全局窗口对象设置为undefined,以测试节点分支,并返回1.

例如

  test('myTest', ()=> {
      global.window = undefined;
      expect(myFn()).toEqual(1); // result: 2
  });
Run Code Online (Sandbox Code Playgroud)

我试过这里的建议没有成功: 在Jest中模拟全局变量

javascript reactjs jestjs

11
推荐指数
1
解决办法
6894
查看次数

为什么我不能在节点中调用mongoose Model.create时链接.catch

我有一个mongoose架构,我正在调用Model.create().

当我在'then'之后链接'catch'时我得到undefined不是一个函数,如果我只是将错误函数作为'then'的第二个参数调用,那么我没有.

但是当我调用Model.find之类的方法时,我可以使用'catch'.

为什么我不能在调用Model.create时链接'catch'

var mySchema = Mongoose.Schema({
     name: String,
});
Run Code Online (Sandbox Code Playgroud)

作品:

KarmaModel.create({
            "name": "ss,
        })
        .then(function() {
            //do somthing
        },function()=>{
            //do somthing
        });
Run Code Online (Sandbox Code Playgroud)

不起作用:

KarmaModel.create({
            "name": "ss,
        })
        .then(function() {
            //do somthing
        }).catch(function()=>{
            //do somthing
        });
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js promise

9
推荐指数
3
解决办法
7228
查看次数

从Execute命令插入临时表

我需要使用execute命令将select语句中的数据插入临时表.

if OBJECT_ID('tempdb..#x') is not null
drop table #x

Create Table #x(aaa nvarchar(max))

declare @query2 nvarchar(max)
set @query2 = 'SELECT [aaa] from IMP_TEMP'

INSERT #x
SELECT [aaa] from IMP_TEMP -- THIS WORKS
SELECT *from #x

INSERT #x
exec @query2 -- THIS DOES NOT WORKS, WHY?
SELECT *from #x
Run Code Online (Sandbox Code Playgroud)

sql sql-server insert temporary execute

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

用酶反应测试组分改变

我正在修改这里找到的一个例子:

https://github.com/airbnb/enzyme/blob/master/docs/api/ReactWrapper/setProps.md

class Foo extends React.Component {
    render() {
        return (
            <input className={this.props.name} type="text" value={this.props.name} onChange={()=>{}} />
        );
    }
}

it('should pass and does not', ()=> {
    const wrapper = mount(<Foo name="foo" />);
    expect(wrapper.find('.foo').html()).toBe(`<input class="foo" type="text" value="foo">`);
    wrapper.setProps({ name: 'bar' });
    expect(wrapper.find('.bar').html()).toBe(`<input class="bar" type="text" value="bar">`);
});

Result: Expected '<input class="bar" type="text" value="foo">' to be '<input class="bar" type="text" value="bar">'.
Run Code Online (Sandbox Code Playgroud)

您可以从测试结果中看到className属性在prop更改时已正确更新.但输入的值仍然错误地设置为'foo'.

关于如何断言该值的任何想法已经在接收新道具的组件上正确地更改为输入的值属性?

javascript jasmine reactjs reactjs-testutils enzyme

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

Angular 2 Firebase或AngularFire超出最大调用堆栈大小

尝试使用Firebase连接David Easts TODO Angular2演示时遇到错误。

超出最大呼叫堆栈大小

仓库可以在这里找到:https : //github.com/davideast/ng2do

我所做的不同之处是:导入绑定,AngularFire和FirebaseArray:

import {bind} from 'angular2/di';
import {AngularFire, FirebaseArray} from 'firebase/AngularFire';
Run Code Online (Sandbox Code Playgroud)

并注册componentServices:

@Component({
  selector: 'todo-app',
  componentServices: [
    AngularFire,
    bind(Firebase).toValue(new Firebase('https://webapi.firebaseio-demo.com/test'))
  ]
})
Run Code Online (Sandbox Code Playgroud)

这会导致错误:

最大调用堆栈大小超出错误。

firebase typescript angularfire angular

5
推荐指数
0
解决办法
1603
查看次数

使用异步等待与babel和ES6承诺无法解决承诺

我有以下节点应用程序包含异步函数,等待ES6承诺.

async function test(id){
    try {
        let val = await Promise.resolve(id);
        console.log("val: " + val);
    } catch (error) {
        console.log("error: " + error);
    }
}

test(1);
Run Code Online (Sandbox Code Playgroud)

结果= val:未定义

预期结果:val:1

我使用gulp-babel将其编译为ES5.

我在gulp任务中有以下设置:

.pipe(babel({ optional: ["es7.asyncFunctions"] }))
Run Code Online (Sandbox Code Playgroud)

在安装babel之后我也要求'babel/polyfill'.

透明代码:

function test(id) {
var val;
return regeneratorRuntime.async(function test$(context$1$0) {
    while (1) switch (context$1$0.prev = context$1$0.next) {
        case 0:
            context$1$0.prev = 0;
            context$1$0.next = 3;
            return Promise.resolve(id);

        case 3:
            val = context$1$0.sent;

            console.log('val: ' + val);
            context$1$0.next = 10;
            break;

        case 7:
            context$1$0.prev = …
Run Code Online (Sandbox Code Playgroud)

javascript node.js async-await es6-promise babeljs

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

断言针对抛出的错误对象

我有一个抛出对象的函数,如何断言正确的对象是在开玩笑呢?

it('should throw', () => {

  const errorObj = {
    myError: {
      name: 'myError',
      desc: 'myDescription'
    }
  };

  const fn = () => {
    throw errorObj;
  }

  expect(() => fn()).toThrowError(errorObj);
});
Run Code Online (Sandbox Code Playgroud)

https://repl.it/repls/FrayedViolentBoa

javascript reactjs jestjs

2
推荐指数
3
解决办法
5555
查看次数