【发布时间】:2017-09-19 14:12:15
【问题描述】:
我正在尝试弄清楚如何根据参数对 Promise 使用类型保护。
function request({ logic }: { logic: boolean }) {
return new Promise((resolve, reject) => {
if (l)
resolve("something");
resolve(1);
});
}
request({ logic: true }).then(a => {
a.length
})
在这个例子中,我想确保 typeof 'a' == 'string'。我尝试在request 中编写一些类型保护,但结果丢失了。我不知道这是否只是打字稿的限制,还是我只需要做一些智能类型转换或什么。
这是我实际尝试做的一个玩具示例,即进行异步调用,其结果根据某些参数略有不同。而且我不愿意为了覆盖改变的返回类型而创建另一个函数
【问题讨论】:
标签: javascript typescript promise