WIP:기능/가입
5597 단어 apollo-phoenix-websocket
묘사
#7 닫기토론 #1
@vic Great!이것은 나에게 정말 유용하다!고맙습니다. 저는 오늘 좀 늦게 테스트를 할 것입니다.토론 #2
@conor mac 너무 좋아요!만약 당신이 봉황 후방의 예를 시도한다면 이것은 일어나지 않을 것이라는 것을 저에게 알려 주십시오.현재 유일한 문제는 구독 메시지를 같은 주제로 보내고 감청하는 것이다.Middleware는 현재context.operation
또는 "subscription"
읽을 수 있기 때문에 "query"
또는 그 어떠한 내용도 변경할 수 있습니다. 이것은 구독이나 조회에 사용될지 여부에 달려 있습니다.context.options.channel.in_msg
@vic 죄송합니다. 아직 이걸 테스트할 기회가 없습니다!이 예시 프로그램은 실제적으로 apollo나 apollo phoenix 웹소켓을 사용하지 않았기 때문에, 이를 테스트하기 위해서, 나는 이 LIB를 사용하기 위해 전방에서 작업을 해야 한다.다음 주쯤에 시작했으면 좋겠어요.토론 #셋
@conor mac aoidh는 문제없습니다. 저는 이번 달에도 컴퓨터를 접한 적이 없습니다. 이번 주나 다음 주에 시간을 내서 더욱 탐색할 수 있기를 바랍니다.토론 #4
이 지점의 최신 진전...[cc@G3z]방금 이 지점에서 호스트를 통합했지만, 백엔드를 정확하게 구독하지 못했습니다.
phoenix chat 예시apollo branch를 만들었습니다. APW(apollo phoenix websocket)를 사용하기 위해 다시 쓰기
토론 #5
를 시도했습니다.APW의 경우 구독은 매우 간단할 것입니다. 구독 문서를 서버에 보내고app.js
을 사용해서 이 메시지를 apollo 구독 리셋에 전송하기만 하면 됩니다.나는 원래 서버에서 메시지 이름을 보내서 이 메시지 이름 아래 새로운 구독 데이터를 받을 줄 알았는데, 이 예
channel.on(msg_name, listener)
를 보면 그것always listening for a hardcoded nameapp.js
처럼 보인다오늘 나는 이 지점에 예시 채팅 프로그램을 사용하도록 몇 가지 수정을 했다.다음은 테스트를 어떻게 도와주셨는지..(cc@conor mac aoidh@G3z)
# clone, or fetch and checkout the feature/subscription branch
git clone [email protected]:vic/apollo-phoenix-websocket --branch feature/subscription
cd apollo-phoenix-websocket
npm install && npm run compile
# then clone my chat app fork on apollo branch
git clone github.com:vic/phoenix_chat_example.git --branch apollo
cd phoenix_chat_example
npm install
# either npm link or just symlink to our recently compiled APW
rm -rf node_modules/apollo-phoenix-websocket
ln -s /path/to/apollo-phoenix-websocket node_modules/
# run the server
mix deps.get
mix phoenix.server
두 개의 브라우저를 열면 그들은 서로 이야기할 수 있을 것이다.APW here 를 사용하는 클라이언트 프로그램을 보고 싶을 수도 있습니다. (참고로 원래의 플러그인 프로그램을 App0으로 이름을 바꿨습니다.)
백엔드에서 원본
토론 #6
에 대한 유일한 변경 사항wasthis one, 이렇게 하면 새로운 구독 데이터는 서로 다른 이벤트 이름으로 발송할 수 있습니다. 예를 들어
phoenix_chat_example
-(이런 방식을 통해 당신은 서로 다른 gql 구독 데이터 업데이트를 얻을 수 있습니다) 원본 코드처럼 항상 하나의 ___absinthne__:62335222__
이벤트에서 데이터를 얻는 것이 아닙니다.클라이언트에서 중요한 변경 사항은 다음과 같은 특징을 가진 필수 구성 옵션
subscription:data
을 추가한 것입니다.channel.subscriptionEvent
해석
(subscriptionResponse, {request, options}) => eventName:String
조작generates a new identifier for them that looks like subscription
을 통해 이 함수를 호출합니다.그래서 우리just extract this ref value는APW can subscribe까지data coming from it.{ref: '___absinthe___:62335222'}
아, 잊어버리고 말씀드리자면 일은 고도로 실험적인 하하입니다. 왜냐하면 저는 테스트를 하지 않았기 때문입니다./구독 취소, 실시하지 않은 일도 있습니다.토론 #7
주요Absinthe Subscription issue를 따라다녔어요. 당신의 도서관이 거기서 언급됐어요!# 몇 주 전에 벤 윌슨은 다음과 같은 평론을 발표했다.
토론 #8
보아하니 너는 확실히 그가 언급한 POC로 그것을 실현한 것 같다. 아마도 그 라인에 뛰어들어 그들이 네가 무엇을 배웠는지 알게 하려고 할 것이다.Do note that while apollo-phoenix-websocket will indeed run graphql queries and mutations, it will not run subscriptions it looks like. Nonetheless that project is super handy as far as solving the JS side of the equation. I'm very excited to integrate it with the proof of concept we did of subscriptions in https://github.com/benwilson512/phoenix_chat_example/tree/absinthe
안녕하세요!쑥주 구독이 곧 도착합니다. @benwilson512 등 이 분야의 뛰어난 업무에 감사드립니다.그래서 이 지점을 업데이트했습니다. 마스터에 통합할 때가 된 것 같습니다.
자술한 파일을 업데이트하고 APW
토론 #9
를 발표했습니다. GQL 웹소켓 구독을 기다리고 있다면, 이 파일을 시도해 보십시오.나는 여기에 예시 프로그램을 하나 설정했다https://github.com/vic/verilyReference
이 문제에 관하여(WIP:기능/가입), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/vic/apollo-phoenix-websocket/issues/9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)