Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 承诺,不争论地解决_Javascript_Promise - Fatal编程技术网

Javascript 承诺,不争论地解决

Javascript 承诺,不争论地解决,javascript,promise,Javascript,Promise,我知道一个答案,但它不能完全回答我想要理解的问题 我正在阅读,它有一段代码: { name: 'department', pattern: '/departments/:id', onEnter: (fromState, toState, routerStore) => { const { rootStore: { itemStore } } = routerStore; itemStore.loadDepartmentItems(t

我知道一个答案,但它不能完全回答我想要理解的问题

我正在阅读,它有一段代码:

{
    name: 'department',
    pattern: '/departments/:id',
    onEnter: (fromState, toState, routerStore) => {
        const { rootStore: { itemStore } } = routerStore;
        itemStore.loadDepartmentItems(toState.params.id);
        return Promise.resolve();
    }
},
我不明白这个
Promise.resolve()
与什么有关?这是什么承诺?如何/何时解决

这是什么承诺

Promise.resolve
创建新的承诺

如何/何时解决


马上,这就是
Promise.resolve
的目的

onEnter
显然被期望返回一个承诺。在这个特定的
oneter
中,它没有任何异步工作要做,因此它返回一个预先解析的承诺。通常,您会指定承诺应该解析的值(
promise.resolve(42)
),但如果不指定,则会应用通常的JavaScript语义,用于解析承诺的值是未定义的值


请参见
Promise.resolve
和。

这只是一个可以立即解决的虚拟
Promise
。似乎
onEnter
的调用者希望得到一个承诺。@CertainPerformance-哦,现在我明白了。谢谢
Promise.resolve()
Promise.resolve(未定义)
相同,谢谢!现在我明白了。它与调用者的期望有关。@Avi出于同样的原因,存在
承诺。拒绝(…)