如何使一个JavaScript承诺返回一个承诺以外的东西?
我有一份来自客户的规范,要求在一个模块中实现一个方法。
// getGenres():
// Returns a promise. When it resolves, it returns an array.
如果给定一个流派的数组。
['comedy', 'drama', 'action']
这里是一个带有承诺的骨架方法。
MovieLibrary.getGenres = function() {
var promise = new Promise(function(resolve, reject) {
/* missing implementation */
});
return promise;
};
能否使承诺返回在基因中找到的数据?是否有更好的方法来实现规范描述?
38
2
听起来你好像没有理解承诺是如何使用的。 你返回一个承诺。 然后,以后当你的代码解析这个承诺时,它会用一个结果来解析它,这个结果被传递给连接到承诺的
.then()
处理器。更新了使用
await'而不是
.then()'的版本。await
停止执行,直到Promise被解决(即有一个值)。与使用.then()
不同的是,当你运行各种返回承诺的函数时,你可以继续await
取值,并继续执行到下一行(这被称为'直接风格)。这也是***好看的,因为它与JavaScript的其他部分一致,而不是到处都是`.then()'。目前所有的浏览器和节点都支持Await