本文整理汇总了TypeScript中vs/base/common/async.isThenable函数的典型用法代码示例。如果您正苦于以下问题:TypeScript isThenable函数的具体用法?TypeScript isThenable怎么用?TypeScript isThenable使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了isThenable函数的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: handleVetos
export function handleVetos(vetos: (boolean | Thenable<boolean>)[], onError: (error: Error) => void): TPromise<boolean /* veto */> {
if (vetos.length === 0) {
return TPromise.as(false);
}
const promises: Thenable<void>[] = [];
let lazyValue = false;
for (let valueOrPromise of vetos) {
// veto, done
if (valueOrPromise === true) {
return TPromise.as(true);
}
if (isThenable(valueOrPromise)) {
promises.push(valueOrPromise.then(value => {
if (value) {
lazyValue = true; // veto, done
}
}, err => {
onError(err); // error, treated like a veto, done
lazyValue = true;
}));
}
}
return TPromise.join(promises).then(() => lazyValue);
}
示例2: isWinJSPromise
function isWinJSPromise(candidate: any): candidate is WinJSPromise {
return isThenable(candidate) && typeof (candidate as any).done === 'function';
}