Использование модуля rsvp в ember.js в pebble js
Я новичок в pebble js app dev и хочу получить json URL. Итак, я наткнулся на модуль RSVP, однако получаю ошибку для следующего кода:
/**
* Welcome to Pebble.js!
*
* This is where you write your app.
*/
var UI = require('ui');
var ajax = require('ajax');
var RSVP = require('rsvp');
var Vector2 = require('vector2');
var userName = 'lamiastella';
var URL = 'http://www.last.fm/user/' + userName;
var card = new UI.Card({
title:'last.fm stat',
subtitle:'Fetching...'
});
card.show();
var getJSON = function(url) {
var promise = new RSVP.Promise(function(resolve, reject){
var client = new XMLHttpRequest();
client.open("GET", url);
client.onreadystatechange = handler;
client.responseType = "json";
client.setRequestHeader("Accept", "application/json");
client.send();
function handler() {
if (this.readyState === this.DONE) {
if (this.status === 200) { resolve(this.response); }
else { reject(this); }
}
};
});
return promise;
};
ajax({ url: URL }, function(data){
// var headline = data.match(/(.*?)<\/h1>/)[1];
var title= data.match(/<h1>(.*?)<\/h1>/);
card.subtitle(title);
//card.subtitle(headline);
});
Ошибка:
[PHONE] pebble-app.js:?: JavaScript Error:
Error: Cannot find module 'rsvp'
at Object.loader.require (loader.js:34:11)
at require (loader.js:41:48)
at Object.loader (app.js:9:12)
at Object.loader.require (loader.js:44:10)
at require (loader.js:41:48)
PS: Если использование RSVP - это не тот путь, как я могу сказать, извлеките "лучшего исполнителя" или подобную информацию?
2 ответа
Решение
Я использую RSVP в моем приложении Pebble.js. Вот как я этого требую:
var RSVP = require('./rsvp.js');
Единственная проблема в том, что он не работает в эмуляторе из-за отсутствия global
переменная в этой среде.
К сожалению, вы не можете включить произвольные библиотеки в Pebble.js.
В вашем конкретном случае RSVP немного излишним, вы можете просто вставить еще один обратный вызов внутри запроса ajax.