ES2017 async/await的一个很好的模式是:
async function () {
try {
var result = await some_promised_value()
} catch (err) {
console.log(`This block would be processed in
a reject() callback with promise patterns
but this is far more intuitive`)
return false // or something less obtuse
}
result = do_something_to_result(result)
return result;
}
Run Code Online (Sandbox Code Playgroud)
能够处理这样的错误非常好.但是我想异步获取一个值,我想保护它不被重新分配(例如:数据库会话),但我仍然想使用async/await模式(纯粹因为我认为它更直观).
以下将不起作用,因为const是块作用域:
async function () {
try {
const result = await get_session()
} catch (err) {
console.log(`This block should catch any
instantiation errors.`)
return false
}
// Can't get at …Run Code Online (Sandbox Code Playgroud) 我在工兵模板中有一个带有分页的组件。目前,所有链接的行为都好像它们相对于根(localhost:3000/在本例中),无论 href 是否采用形式page或/page, (我什至尝试过./page。)
因此,对于我只想修改查询字符串的分页,我必须将当前视图的完整路径传递到 href 组件中,这有点痛苦。我做错了什么导致相对链接不起作用吗?(如果有一种方法可以让它们goto()直接调用,那就更好了,我有一个“转到页面:[x]”输入。)如果没有,是否有推荐的方法从组件内部获取当前路径,以便我可以抛出在分页组件中?
我一直在研究一些Graph QL/React/Relay示例,我遇到了一些奇怪的语法.
在Graph QL Objects中定义字段时,使用以下语法:
const xType = new GraphQLObjectType({
name: 'X',
description: 'A made up type for example.',
fields: () => ({
field: {/*etc.*/}
})
});
Run Code Online (Sandbox Code Playgroud)
从我收集的内容来看,这只是定义一个匿名函数并将其分配给xType.fields.该匿名函数返回包含字段定义的对象.
我假设图形QL模式机制工作,这必须被定义为返回对象而不是简单对象的函数.但令我困惑的部分是花括号周围的括号.
这是为了区分对象定义和函数定义吗?这是为了清晰的读者的缘故吗?
谷歌搜索发现的唯一类似语法是在airbnb风格指南中,它似乎是一个可读性/清晰度的东西.
只是寻找超出我的假设的确认或解释,因为我开始更多地使用Graph QL.
该应用程序部署在此处:memoryapp.meteor.com
源代码在git repo中提供:https://github.com/SnappyCroissant/memoryapp
要重置应用运行
Cards.update({}, {$set: {state: 'play'}}, {multi: true})
Run Code Online (Sandbox Code Playgroud)
从控制台.
我知道让客户端访问这样的集合是很糟糕的,应用程序远没有准备就绪我只是通过Meteor找到了解决方法.
目前,只要在卡片中运行任何更新,整个DOM重绘除了那些我称之为持久性的元素.据我所知,虽然元素只应在更新时重绘,或者我误解了反应的工作方式?
脚本中发生的唯一真正的动态变化是'state'卡中对象的属性正在被更改.然而,它重绘每个属性和每个DOM元素,除非明确声明不.
是因为它们都被传递到一个数组中的模板吗?如果是这样的话,最好的替代方法是什么.
该结构是有点大杂烩,因为它是一个学习经验,都为这一问题的重要位(据我所知)住在client/memory.js和server/model.js
javascript ×2
node.js ×2
async-await ×1
asynchronous ×1
ecmascript-6 ×1
es6-promise ×1
graphql ×1
meteor ×1
reactjs ×1
relay ×1
sapper ×1
svelte ×1