首页 > 解决方案 > Promise.resolve 不带参数

问题描述

我知道之前有人问过类似的问题,但它并不能完全回答我想要理解的内容。

我正在阅读mobx-state-router 教程,它有这段代码:

{
    name: 'department',
    pattern: '/departments/:id',
    onEnter: (fromState, toState, routerStore) => {
        const { rootStore: { itemStore } } = routerStore;
        itemStore.loadDepartmentItems(toState.params.id);
        return Promise.resolve();
    }
},

我不明白这与什么Promise.resolve()有关?是哪个承诺?如何/何时解决?

标签: javascriptpromise

解决方案


是哪个承诺?

Promise.resolve创造一个的承诺。

如何/何时解决?

马上,Promise.resolve就是为了这个。

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

请参阅Promise.resolve 规范MDN


推荐阅读