我从服务中返回了2个(或更多)可观察对象,每个观察对象仅返回一个值(认为Observable.just())。它们每个都有不同的类型(我在用TypeScript编写,所以类型很重要)。
是否有办法知道所有Observable何时成功解决(使用Promise术语)或失败,我需要能够单独处理失败并继续下去。
人为的例子:
const obs1 = someService.getThisThing(); //Observable<Type1>
const obs2 = someService.getAnotherThing(); //Observable<Type2>
const someObj = {};
obs1.subscribe(v1 => someObj.v1 = v1);
obs2.subscribe(v2 => someObj.v2 = v2);
// call someFunc(someObj), only when both above observables resolved to a value
someFunc(someObj);
Run Code Online (Sandbox Code Playgroud)
我尝试使用,merge但随后我松开了类型安全性,因为值可能以任何顺序出现,并且我必须检查它们的类型.subscribe以确定哪个是哪个
我已经尝试过combine并combineLatest按照此处的描述进行操作-但随后它们都同时解析,并且如果1失败-一切都会失败
我正在实现luhn算法,这是我到目前为止的代码:
luhn :: [Int] -> Bool
luhn xs = ((evens + odds) `mod` 10) == 0 where
evens = sum [x | (x,i) <- reversed_indexed_xs, i `mod` 2 == 0]
odds = sum [luhnDouble x | (x,i) <- reversed_indexed_xs, i `mod` 2 /= 0] where
reversed_indexed_xs = zip (reverse xs) [0..]
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
Variable not in scope: reversed_indexed_xs :: [(a, Integer)]
|
33 | evens = sum [x | (x,i) <- reversed_indexed_xs, i `mod` 2 == 0]
| ^^^^^^^^^^^^^^^^^^^
Failed, 0 …Run Code Online (Sandbox Code Playgroud) 我是机器学习的新手我正在构建一个能够预测简单sin功能的简单模型
我生成了一些sin值,并将它们输入到我的模型中.
from math import sin
xs = np.arange(-10, 40, 0.1)
squarer = lambda t: sin(t)
vfunc = np.vectorize(squarer)
ys = vfunc(xs)
model= Sequential()
model.add(Dense(units=256, input_shape=(1,), activation="tanh"))
model.add(Dense(units=256, activation="tanh"))
..a number of layers here
model.add(Dense(units=256, activation="tanh"))
model.add(Dense(units=1))
model.compile(optimizer="sgd", loss="mse")
model.fit(xs, ys, epochs=500, verbose=0)
Run Code Online (Sandbox Code Playgroud)
然后我生成一些测试数据,它覆盖了我的学习数据,但也引入了一些新数据
test_xs = np.arange(-15, 45, 0.01)
test_ys = model.predict(test_xs)
plt.plot(xs, ys)
plt.plot(test_xs, test_ys)
Run Code Online (Sandbox Code Playgroud)
预测数据和学习数据如下所示.我添加的层数越多,网络能够学习的曲线就越多,但培训过程会增加.有没有办法让它预测sin任意数量的曲线?优选具有少量层.

我有:
第1单元:
Module1.type1,它的构造函数,以及一些接受和返回的函数type1第2单元:
open Module1 open Module3 Module2.type2,也有接受type1和type3作为参数的功能第3单元:
open Module1open Module2Module3.type3,以及依赖于它的构造函数type1type1,type2以及type3题
结果我显然得到dependency cycle: src/Module3.cmj -> src/Module2.cmj -> src/Module3.cmj了编译器的错误.在单独导入的TypeScript/JS中可以轻易实现的东西在Reason中是不可能的.怎么解决这个问题?
我真的不想改变我的程序的架构,只是为了方便编译器/模块系统的缺点.
调用基类方法对我来说似乎不起作用.我有以下设置:
...
<div class='my'></div>
...
Run Code Online (Sandbox Code Playgroud)
和Javascript
$.widget('tt.name1',{
_create: function() {
this.name = 'name'
console.log('-->', this.name);
}
});
$.widget('tt.name2',$.tt.name1, {
_create: function() {
this._super();
/*$.tt.name1.prototype._create.call(this);*/
this.name = 'name2'
console.log('-->', this.name);
}
});
$('.my').name1();
$('.my').name2();
Run Code Online (Sandbox Code Playgroud)
调用时会产生以下输出和错误 this._super()
- > name
Uncaught TypeError:Object#没有方法'_super'
javascript ×2
haskell ×1
jquery ×1
jquery-ui ×1
keras ×1
ocaml ×1
reason ×1
rxjs ×1
rxjs5 ×1
typescript ×1