我知道一个similar question was asked before,但它并不能完全回答我想理解的内容。
我正在阅读mobx-state-router tutorial,它包含以下代码:
{
name: 'department',
pattern: '/departments/:id',
onEnter: (fromState, toState, routerStore) => {
const { rootStore: { itemStore } } = routerStore;
itemStore.loadDepartmentItems(toState.params.id);
return Promise.resolve();
}
},
我不知道这个Promise.resolve()
与什么有关?这是什么承诺?如何/何时解决?
答案 0 :(得分:3)
这是什么承诺?
Promise.resolve
创建一个新承诺。
如何/何时解决?
这就是Promise.resolve
的作用。
onEnter
显然有望返回承诺。在这个特定的onEnter
中,它没有任何异步工作要做,因此它返回一个预先解决的Promise。通常,您指定应使用(Promise.resolve(42)
来解析诺言的值,但如果不这样做,则将应用常规的JavaScript语义,并且用于解析诺言的值是undefined
的值。
请参见Promise.resolve
in the spec和on MDN。