一个基于承诺的客户端,用于 Meteor 的分布式数据协议 (DDP)。
A promise-based Meteor DDP client for version pre1 introduced in Meteor 0.5.7.
$.Deferred)var ddp = new MeteorDdp('ws://yourApp.meteor.com/websocket');
ddp.connect().done(function() {
console.log('Connected!');
});
Meteor.methods on the server. Returns -> Promise which resolves with any returned data.…
// Subscribing returns a promise which resolved on success, but
// you probably only care if the subscription fails...
ddp.subscribe('plyers', [gameId]).fail(function(err) {
console.log('We actually wanted to subscribe to players not plyers...');
});
var unsubPlayers = ddp.unsubscribe('players');
unsubPlayers.done(function() {
console.log("Successfully unsubscribed to players");
});
unsubPlayers.fail(function(err) {
console.log("Something went wrong, couldn't unsub players. ", err);
});
// So say we subscribed to the `players` collection and want to be notified when any change occurs:
ddp.watch('players', function(changedDoc, message) {
console.log("The players collection changed. Here's what changed: ", changedDoc, message);
// Was it removed?
if (message === "removed") {
console.log("This document doesn't exist in our collection anymore :(");
}
});
ddp.getCollection('rooms'); // -> {id1: {document1}, id2: {document2}, ...}
ddp.getDocument('rooms', '4ec81e1b-2e16-42f4-a915-cc18ad7bdb0c') // -> {document}
ddp.close(); // yeah...
ddp.loginWithOauth(
//setup the twitter oauth login url
function (credentialToken) {
var callbackUrl = "http://localhost:3000/_oauth/twitter?close&state=" + credentialToken;
var loginUrl = "http://localhost:3000/_oauth/twitter/?requestTokenAndRedirect="
+ encodeURIComponent(callbackUrl)
+ "&state=" + credentialToken;
return loginUrl;
}
).then(function () {
console.log("We are logged in.");
});
ddp.logout();
ddp.oauthPrompt();
暂无开放 Issues,或尚未同步最近议题。