对于同步代码,我要做:
return opts || (opts = getOpts())
为确保事物易于缓存/初始化。
在异步/承诺模式下最简单的方法是什么?
目前我有一个重复的样板
if (result) {
return Promise.resolve(result);
} else {
return getResult().then(_result => {
result = _result;
return result;
}
}
多次完成后会很烦人。
我发现的库要么没有维护,要么提供了不友好的语法。
有什么建议或想法吗?
答案 0 :(得分:1)
使用这样的await关键字可以实现更友好的语法
@Suppress("REIFIED_TYPE_PARAMETER_NO_INLINE")
public fun <reified T : Any> ArrayList<*>.isArrayListOf(): Boolean =
T::class.java.isAssignableFrom(this::class.java.componentType)