我创建了自己的observable并为它订阅了两个函数.我希望对序列中的每个元素执行两个函数,但只有最后一个元素.
let observer = null
const notificationArrayStream = Rx.Observable.create(function (obs) {
observer = obs;
return () => {}
})
function trigger(something) {
observer.next(something)
}
notificationArrayStream.subscribe((x) => console.log('a: ' + x))
notificationArrayStream.subscribe((x) => console.log('b: ' + x))
trigger('TEST')
Run Code Online (Sandbox Code Playgroud)
预期产出
a: TEST
b: TEST
Run Code Online (Sandbox Code Playgroud)
实际输出
b: TEST
Run Code Online (Sandbox Code Playgroud)
这是JSBin:http://jsbin.com/cahoyey/edit?js,console
这是为什么?如何让多个函数订阅一个Observable?
我目前正在尝试使用新的Laravel 5并获得认证工作(注册/登录).
要在我的控制器中获取经过身份验证的用户,我当前会注入Guard控制器操作:
use App\Http\Controllers\Controller;
use Illuminate\Contracts\Auth\Guard;
class ClientController extends Controller {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index(Guard $auth)
{
return view('client.index', ['user' => $auth->user()]);
}
...
Run Code Online (Sandbox Code Playgroud)
第一个问题:这是推荐的方式吗?
第二个问题:我如何实现某种角色/权限?喜欢的东西client.edit,client.add......难道幼虫5提供某种方便起见,这里?如何为路由/控制器操作设置必要的角色/权限?
我想我可能需要为此编写自己的中间件.有关如何解决问题的任何建议?