當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript phoenix.Socket類代碼示例

本文整理匯總了TypeScript中phoenix.Socket的典型用法代碼示例。如果您正苦於以下問題:TypeScript Socket類的具體用法?TypeScript Socket怎麽用?TypeScript Socket使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Socket類的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: test_presence

function test_presence() {
  const socket = new Socket('/ws', {params: {userToken: '123'}});

  const channel = socket.channel('room:123', {token: '123'});
  const presence = new Presence(channel);

  let presenceState = {};

  const logState = (state: Object) => {
    Presence.list(state, (id: string) => id).forEach(console.log);
  };

  channel.on('presence_state', (state) => {
    presenceState = Presence.syncState(presenceState, state);
    logState(presenceState);
  });

  channel.on('presence_diff', (diff) => {
    presenceState = Presence.syncState(presenceState, diff);
    logState(presenceState);
  });

  socket.connect();

  channel.join();
}
開發者ID:CNBoland,項目名稱:DefinitelyTyped,代碼行數:26,代碼來源:phoenix-tests.ts

示例2: Socket

 return Observable.create((observer: Observer<string>) => {
   const options = { params: { token }};
   this.socket = new Socket('/socket', options);
   this.socket.onOpen(() => {
     observer.next(null);
   });
   this.socket.onError((err: Error) => {
     this.socket.disconnect();
     return observer.error(err);
   });
   this.socket.connect();
 })
開發者ID:akeating,項目名稱:peap,代碼行數:12,代碼來源:socket.service.ts

示例3: test_hooks

function test_hooks() {
  const socket = new Socket("/ws", {params: {userToken: "123"}});
  socket.connect();

  socket.onError(() => console.log("there was an error with the connection!"));
  socket.onClose(() => console.log("the connection dropped"));

  const channel = socket.channel("room:123", {token: '123'});

  channel.onError(() => console.log("there was an error!"));
  channel.onClose(() => console.log("the channel has gone away gracefully"))
}
開發者ID:AbraaoAlves,項目名稱:DefinitelyTyped,代碼行數:12,代碼來源:phoenix-tests.ts

示例4: test_hooks

function test_hooks() {
  const socket = new Socket('/ws', {params: {userToken: '123'}});
  socket.connect();

  socket.onError(() => console.log('there was an error with the connection!'));
  socket.onClose(() => console.log('the connection dropped'));

  const channel = socket.channel('room:123', {token: '123'});

  channel.onError(() => console.log('there was an error!'));
  channel.onClose(() => console.log('the channel has gone away gracefully'));
}
開發者ID:CNBoland,項目名稱:DefinitelyTyped,代碼行數:12,代碼來源:phoenix-tests.ts

示例5: test_channel

function test_channel() {
  const socket = new Socket("/ws", {params: {userToken: "123"}});
  socket.connect();

  const channel = socket.channel("room:123", {token: '123'});

  channel.on("new_msg", msg => console.log("Got message", msg));

  channel.push("new_msg", {body: 'some value'}, 10000)
   .receive("ok", (msg) => console.log("created message", msg))
   .receive("error", (reasons) => console.log("create failed", reasons))
   .receive("timeout", () => console.log("Networking issue..."));

  channel.join()
    .receive("ok", ({messages}) => console.log("catching up", messages))
    .receive("error", ({reason}) => console.log("failed join", reason))
    .receive("timeout", () => console.log("Networking issue. Still waiting..."));
}
開發者ID:AbraaoAlves,項目名稱:DefinitelyTyped,代碼行數:18,代碼來源:phoenix-tests.ts

示例6: inquiriesChannel

function inquiriesChannel(){
  let inquiriesChannel = socket.channel("inquiries")
  join(inquiriesChannel)
  inquiriesChannel.on("artworkinquiryrequest.inquired", payload => {

    if (payload.partner_locations.length && payload.user.location) {
      // Use the furthest away location
      let partnerLoc = payload.partner_locations[0]
      payload.partner_locations.forEach(loc => {
        if (getDistance(payload.user.location, loc) > getDistance(payload.user.location, partnerLoc)) {
          partnerLoc = loc
        }
      });

      addArc(map, allArcs, payload.user.location, partnerLoc)

      const distance =  Math.round(getDistance(payload.user.location, partnerLoc))

      const thumbnail = generateAThumbnail(
        payload.artwork.images[0].image_urls.medium,
        `${payload.properties.inquireable.name}</span> from <span>${payload.partner.name}</span>.`,
        `${shortDateString(payload.user.location)} ✈ ${shortDateString(partnerLoc)} (${distance}km)`
      )

      messagesContainer.insertBefore(thumbnail, messagesContainer.firstChild);
    }
  })
}
開發者ID:artsy,項目名稱:APR,代碼行數:28,代碼來源:socket.ts

示例7: purchasesChannel

function purchasesChannel() {
  let purchaseChannel = socket.channel("purchases")
  join(purchaseChannel)

  purchaseChannel.on("purchase.purchased", payload => {
    if (payload.partner_locations.length && payload.user.location) {
      // Use the furthest away location
      let partnerLoc = payload.partner_locations[0]
      payload.partner_locations.forEach(loc => {
        if (getDistance(payload.user.location, loc) > getDistance(payload.user.location, partnerLoc)) {
          partnerLoc = loc
        }
      });

      addArc(map, allArcs, partnerLoc, payload.user.location, { strokeWidth: 2, strokeColor: '#6E1FFF', greatArc: true} )

      const distance =  Math.round(getDistance(payload.user.location, partnerLoc))

      const thumbnail = generateAThumbnail(
        payload.artwork.images[0].image_urls.medium,
        `${payload.properties.inquireable.name}</span> from <span>${payload.properties.partner.name}</span>.`,
        `${shortDateString(payload.user.location)} ✈ ${shortDateString(partnerLoc)} (${distance}km)`
      )

      messagesContainer.insertBefore(thumbnail, messagesContainer.firstChild);
    }
  })
}
開發者ID:artsy,項目名稱:APR,代碼行數:28,代碼來源:socket.ts

示例8: joinChannel

 joinChannel(channelName: string): Observable<any> {
   this.channel = this.socket.channel(channelName, {});
   return Observable.create((observer: Observer<string>) => {
     this.channel.on('new_message', payload => {
       this.dataService.receiveAlertMessage(payload.body);
     });
     this.channel.on('current_count', payload => {
       this.dataService.setCurrentCount(payload.body);
     });
     this.channel.join()
       .receive('ok', resp => {
         observer.next(resp);
       })
       .receive('error', err => {
         return observer.error(err);
       });
   });
 }
開發者ID:akeating,項目名稱:peap,代碼行數:18,代碼來源:socket.service.ts

示例9: join

 join(topic, params?) {
   this.channel = this.socket.channel(topic, params);
   return this.channel.join();
 }
開發者ID:mciastek,項目名稱:emotions-wheel-app,代碼行數:4,代碼來源:socket.service.ts


注:本文中的phoenix.Socket類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。