相关疑难解决方法(0)

ES6对象中的方法:使用箭头函数

在ES6中,这两个都是合法的:

var chopper = {
    owner: 'Zed',
    getOwner: function() { return this.owner; }
};
Run Code Online (Sandbox Code Playgroud)

并且,作为速记:

var chopper = {
    owner: 'Zed',
    getOwner() { return this.owner; }
}
Run Code Online (Sandbox Code Playgroud)

是否可以使用新的箭头功能?在尝试类似的东西

var chopper = {
    owner: 'John',
    getOwner: () => { return this.owner; }
};
Run Code Online (Sandbox Code Playgroud)

要么

var chopper = {
    owner: 'John',
    getOwner: () => (this.owner)
};
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息,提示该方法无权访问this.这只是一个语法问题,还是你不能在ES6对象中使用fat-pipe方法?

javascript ecmascript-harmony ecmascript-6

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

正确尝试...使用Async/Await捕获语法

我喜欢Async/Await在Typescript等中提供的新功能的平坦性.但是,我不确定我喜欢这样一个事实,即我必须awaittry...catch块的外部声明变量才能在以后使用它.像这样:

let createdUser
try {
    createdUser = await this.User.create(userInfo)
} catch (error) {
    console.error(error)
}

console.log(createdUser)
// business
// logic
// goes
// here
Run Code Online (Sandbox Code Playgroud)

如果我错了,请纠正我,但似乎最好不要在机构中放置多行业务逻辑try,所以我只留下createdUser在块外声明,在块中分配它的替代方案,以及然后用它.

在这种情况下,最佳做法是什么?

javascript try-catch promise async-await ecmascript-2017

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