Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Apr 04 02:26
    phillipskevin opened #5479
  • Apr 03 16:24
    kaleidawave starred canjs/canjs
  • Apr 02 19:18
    JimMorrison723 starred canjs/canjs
  • Apr 01 03:34
    GraceFatima commented on 695c6da
  • Mar 31 06:37
    hrnkoji starred canjs/canjs
  • Mar 26 22:02
    greenkeeper[bot] commented #5469
  • Mar 26 22:02

    greenkeeper[bot] on @octokit

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

  • Mar 25 21:18
    sdillen starred canjs/canjs
  • Mar 25 20:34
    Aliens-dev starred canjs/canjs
  • Mar 25 19:43
    greenkeeper[bot] commented #5469
  • Mar 25 19:43

    greenkeeper[bot] on @octokit

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

  • Mar 25 08:06
    leepeterson starred canjs/canjs
  • Mar 24 21:23
    greenkeeper[bot] commented #5469
  • Mar 24 21:23

    greenkeeper[bot] on @octokit

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

  • Mar 24 07:00

    greenkeeper[bot] on webpack-4.42.1

    (compare)

  • Mar 24 06:58

    greenkeeper[bot] on webpack-4.42.1

    chore(package): update webpack … (compare)

  • Mar 21 01:00
    greenkeeper[bot] commented #5469
  • Mar 21 01:00

    greenkeeper[bot] on @octokit

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

  • Mar 20 06:52
    christianfelicite starred canjs/canjs
  • Mar 18 10:30
    dinko starred canjs/canjs
Gregg Roemhildt
@roemhildtg
Sure. It is related to the promise I mentioned. Providing an array list that is available immediately works.
Kevin Phillips
@phillipskevin
ok, how is the promise specified?
in your VM
Gregg Roemhildt
@roemhildtg
I'm passing an object to a component that has a .optionsPromise property
So I can pass either options or optionsPromise
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?