无参数的Promise.resolve

时间:2018-06-23 10:20:39

标签: javascript promise

我知道一个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()与什么有关?这是什么承诺?如何/何时解决?

1 个答案:

答案 0 :(得分:3)

  

这是什么承诺?

Promise.resolve创建一个承诺。

  

如何/何时解决?

这就是Promise.resolve的作用。

onEnter显然有望返回承诺。在这个特定的onEnter中,它没有任何异步工作要做,因此它返回一个预先解决的Promise。通常,您指定应使用(Promise.resolve(42)来解析诺言的值,但如果不这样做,则将应用常规的JavaScript语义,并且用于解析诺言的值是undefined的值。

请参见Promise.resolve in the specon MDN