Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 18 01:06
    greenkeeper[bot] commented #5422
  • Jan 18 01:06

    greenkeeper[bot] on @feathersjs

    chore(package): update @feather… (compare)

  • Jan 18 00:48

    greenkeeper[bot] on @octokit

    (compare)

  • Jan 18 00:46

    greenkeeper[bot] on @octokit

    chore(package): update @octokit… (compare)

  • Jan 17 18:14
    patosullivan starred canjs/canjs
  • Jan 17 17:42
    bmomberger-bitovi synchronize #5451
  • Jan 17 17:42

    bmomberger-bitovi on update-deps

    update can-view-live, can-dom-m… (compare)

  • Jan 16 00:11
    greenkeeper[bot] labeled #5458
  • Jan 16 00:11
    greenkeeper[bot] opened #5458
  • Jan 16 00:11

    greenkeeper[bot] on can-simple-dom-1.7.1

    fix(package): update can-simple… (compare)

  • Jan 14 01:51
    likun7981 starred canjs/canjs
  • Jan 13 14:06
    piraz starred canjs/canjs
  • Jan 11 00:56
    KonTrax starred canjs/canjs
  • Jan 10 02:37
    jlburke starred canjs/canjs
  • Jan 09 04:17
  • Jan 09 04:17
    bbbbbroot starred canjs/canjs
  • Jan 06 18:58
    greenkeeper[bot] commented #5442
  • Jan 06 18:58

    greenkeeper[bot] on can-view-live-5.0.3

    fix(package): update can-view-l… (compare)

  • Jan 06 18:29
    greenkeeper[bot] opened #5457
  • Jan 06 18:29

    greenkeeper[bot] on can-dom-mutate-2.0.8

    fix(package): update can-dom-mu… (compare)

Gregg Roemhildt
@roemhildtg
canjs/canjs#3427
Frank Lemanschik
@frank-dspeed
https://www.npmjs.com/package/landscaper should be moved to a public accessible place so that some one can work more easy with it :)
AntonProkofyev
@AntonProkofyev

Hi guys, i have a question
i have simple connect like
let userConnection = connect( [url, constructor], { url: { getData: 'GET /user' } });
which returns someting like {name: 'Name'}

i have wm

let AppViewModel = DefineMap.extend( {    
    user: {
        get: function (lastSetValue, resolve) {
            userConnection .get().then(resolve);
        }
    }
});

let appVM = new AppViewModel({});

i'm using simple template like {{user.name}}. But when i get response i can see name but i can also see
Uncaught (in promise) TypeError: Cannot define property _instanceDefinitions, object is not extensible define-helpers.js:17.
Am i doing anything wrong with asynchronous getters? May be someone know why is this error appears?

Frank Lemanschik
@frank-dspeed
ithink its because user.name
is not a property
but my english is to bad to explain you that better and shorter simply wait for some one but it looks like your doing it wrong
AntonProkofyev
@AntonProkofyev
mmm i got response {name: 'Name'} from the server and i see Name on the page
Kevin Phillips
@phillipskevin
can you put a breakpoint in define-helpers and see what property is being set?
Frank Lemanschik
@frank-dspeed
i can't tell you more i never used it like you do
with the lastSetValue and resolve
i return the value and i get the value
Kevin Phillips
@phillipskevin
take a look at canjs/can-route#98
see if it is the same thing you are doing @AntonProkofyev
Frank Lemanschik
@frank-dspeed
@phillipskevin couldn't he directly return the promis and don't use resolve?
i think he could simply return userConnection.get() ?
Kevin Phillips
@phillipskevin
he could, but it would make the template more complicated
and not fix this problem
Frank Lemanschik
@frank-dspeed
why would that affect the template
i always return pormis
and get directly the value
Kevin Phillips
@phillipskevin
you have to do user.value.name in the template
AntonProkofyev
@AntonProkofyev
mmm let me check
Frank Lemanschik
@frank-dspeed
hmmm i always do this each stuff for user.value
Kevin Phillips
@phillipskevin
@AntonProkofyev the way your code is, user.name is fine
Frank Lemanschik
@frank-dspeed
and that works great
ah
Kevin Phillips
@phillipskevin
you can do it that way, @frank-dspeed
Frank Lemanschik
@frank-dspeed
then i have no value when i use his code style
interristing
Kevin Phillips
@phillipskevin
using the async getter with resolve, you don't have to do it that way
user is the value if you use resolve
Frank Lemanschik
@frank-dspeed
but then i can also do no waiting like if isResolved right?
because i only get the value
i understand the diffrence is getting a promis or a value i understand
Kevin Phillips
@phillipskevin
right
Frank Lemanschik
@frank-dspeed
do you know a code that would allow me to change the value every x secunds?
Kevin Phillips
@phillipskevin
I usually do promises like this:
    userPromise: {
        get: function () {
            return userConnection.get();
        }
    },
    user: {
        get: function(last, resolve) {
            this.userPromise.then(resolve);
        }
    }
so you can do userPromise.isResolved and also user.name
in the template
Frank Lemanschik
@frank-dspeed
ah nice now i understand
why this is in some examples
i saw that :)
AntonProkofyev
@AntonProkofyev
yep that's what i saw in docs and i can see name when it's resolved...
i've add breakpoint but it gives nothing. just see that Object.defineProperty(map, "_instanceDefinitions", { make an error
and that map constructor is DefineMap
Frank Lemanschik
@frank-dspeed
but do you know a way to reset a value with a interval?
Kevin Phillips
@phillipskevin
@frank-dspeed use a setter
Frank Lemanschik
@frank-dspeed
how you mean that?
i have really no idea about that because for me a setter gets only called on set
and then you mean i can do var x = interval() in the setter
Kevin Phillips
@phillipskevin
foo: {
  value: 1,
  set(val) {
    setTimeout(() => { this.foo+=1 }, 1000);
    return val;
  }
}
Frank Lemanschik
@frank-dspeed
and it gets executed?