get deferred promise value jQuery
I have below function
function commentCount(id) {
var deferred = new $.Deferred()
var url =
_spPageContextInfo.siteAbsoluteUrl +
"/_api/lists/getByTitle('Comments')/items?$select=Id&$filter=ItemID eq " +
id +
" and Title eq 'Colleague'"
getData(url).then(function(data) {
deferred.resolve(data.d.results.length)
})
return deferred.promise()
}
Now I want to return that value in HTML string as below but it shows [object object]
'<div class="card-footer"> <div class="row "><div class="col-lg mobile-center"><a href="#">' + commentCount(item.Id)
How can I get value like that
javascript jquery es6-promise jquery-deferred
|
show 1 more comment
I have below function
function commentCount(id) {
var deferred = new $.Deferred()
var url =
_spPageContextInfo.siteAbsoluteUrl +
"/_api/lists/getByTitle('Comments')/items?$select=Id&$filter=ItemID eq " +
id +
" and Title eq 'Colleague'"
getData(url).then(function(data) {
deferred.resolve(data.d.results.length)
})
return deferred.promise()
}
Now I want to return that value in HTML string as below but it shows [object object]
'<div class="card-footer"> <div class="row "><div class="col-lg mobile-center"><a href="#">' + commentCount(item.Id)
How can I get value like that
javascript jquery es6-promise jquery-deferred
It is integer value
– Milind
Nov 23 '18 at 23:36
1
commentCount
is going to return a promise,.. Using deferred doesn't change things here, you could have just donereturn getData(url).
– Keith
Nov 23 '18 at 23:36
Can you please show me example
– Milind
Nov 23 '18 at 23:38
Unless you say usedasync / await
your can't do something like"some string" + somePromise()
, you need to resolve your promise first. If usingasync / await
, this could be done ->"some string" + await somePromise()
– Keith
Nov 23 '18 at 23:40
How we can do that
– Milind
Nov 23 '18 at 23:42
|
show 1 more comment
I have below function
function commentCount(id) {
var deferred = new $.Deferred()
var url =
_spPageContextInfo.siteAbsoluteUrl +
"/_api/lists/getByTitle('Comments')/items?$select=Id&$filter=ItemID eq " +
id +
" and Title eq 'Colleague'"
getData(url).then(function(data) {
deferred.resolve(data.d.results.length)
})
return deferred.promise()
}
Now I want to return that value in HTML string as below but it shows [object object]
'<div class="card-footer"> <div class="row "><div class="col-lg mobile-center"><a href="#">' + commentCount(item.Id)
How can I get value like that
javascript jquery es6-promise jquery-deferred
I have below function
function commentCount(id) {
var deferred = new $.Deferred()
var url =
_spPageContextInfo.siteAbsoluteUrl +
"/_api/lists/getByTitle('Comments')/items?$select=Id&$filter=ItemID eq " +
id +
" and Title eq 'Colleague'"
getData(url).then(function(data) {
deferred.resolve(data.d.results.length)
})
return deferred.promise()
}
Now I want to return that value in HTML string as below but it shows [object object]
'<div class="card-footer"> <div class="row "><div class="col-lg mobile-center"><a href="#">' + commentCount(item.Id)
How can I get value like that
javascript jquery es6-promise jquery-deferred
javascript jquery es6-promise jquery-deferred
asked Nov 23 '18 at 23:31
MilindMilind
60021441
60021441
It is integer value
– Milind
Nov 23 '18 at 23:36
1
commentCount
is going to return a promise,.. Using deferred doesn't change things here, you could have just donereturn getData(url).
– Keith
Nov 23 '18 at 23:36
Can you please show me example
– Milind
Nov 23 '18 at 23:38
Unless you say usedasync / await
your can't do something like"some string" + somePromise()
, you need to resolve your promise first. If usingasync / await
, this could be done ->"some string" + await somePromise()
– Keith
Nov 23 '18 at 23:40
How we can do that
– Milind
Nov 23 '18 at 23:42
|
show 1 more comment
It is integer value
– Milind
Nov 23 '18 at 23:36
1
commentCount
is going to return a promise,.. Using deferred doesn't change things here, you could have just donereturn getData(url).
– Keith
Nov 23 '18 at 23:36
Can you please show me example
– Milind
Nov 23 '18 at 23:38
Unless you say usedasync / await
your can't do something like"some string" + somePromise()
, you need to resolve your promise first. If usingasync / await
, this could be done ->"some string" + await somePromise()
– Keith
Nov 23 '18 at 23:40
How we can do that
– Milind
Nov 23 '18 at 23:42
It is integer value
– Milind
Nov 23 '18 at 23:36
It is integer value
– Milind
Nov 23 '18 at 23:36
1
1
commentCount
is going to return a promise,.. Using deferred doesn't change things here, you could have just done return getData(url).
– Keith
Nov 23 '18 at 23:36
commentCount
is going to return a promise,.. Using deferred doesn't change things here, you could have just done return getData(url).
– Keith
Nov 23 '18 at 23:36
Can you please show me example
– Milind
Nov 23 '18 at 23:38
Can you please show me example
– Milind
Nov 23 '18 at 23:38
Unless you say used
async / await
your can't do something like "some string" + somePromise()
, you need to resolve your promise first. If using async / await
, this could be done -> "some string" + await somePromise()
– Keith
Nov 23 '18 at 23:40
Unless you say used
async / await
your can't do something like "some string" + somePromise()
, you need to resolve your promise first. If using async / await
, this could be done -> "some string" + await somePromise()
– Keith
Nov 23 '18 at 23:40
How we can do that
– Milind
Nov 23 '18 at 23:42
How we can do that
– Milind
Nov 23 '18 at 23:42
|
show 1 more comment
1 Answer
1
active
oldest
votes
Your function is returning a promise and you have to resolve that promise before you can get at the data
It is also using a needless $.Deferred
since getData()
returns a promise
Needs to be something like:
function commentCount(id) {
var url ='....';
// return the getData promise
return getData(url).then(function(data) {
// return the count to next `then()` in chain
return data.d.results.length
})
}
commentCount(someId).then(function(count){
// do stuff with your html here
var str ='<div> Count:' + count + '</div>';
})
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53453873%2fget-deferred-promise-value-jquery%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Your function is returning a promise and you have to resolve that promise before you can get at the data
It is also using a needless $.Deferred
since getData()
returns a promise
Needs to be something like:
function commentCount(id) {
var url ='....';
// return the getData promise
return getData(url).then(function(data) {
// return the count to next `then()` in chain
return data.d.results.length
})
}
commentCount(someId).then(function(count){
// do stuff with your html here
var str ='<div> Count:' + count + '</div>';
})
add a comment |
Your function is returning a promise and you have to resolve that promise before you can get at the data
It is also using a needless $.Deferred
since getData()
returns a promise
Needs to be something like:
function commentCount(id) {
var url ='....';
// return the getData promise
return getData(url).then(function(data) {
// return the count to next `then()` in chain
return data.d.results.length
})
}
commentCount(someId).then(function(count){
// do stuff with your html here
var str ='<div> Count:' + count + '</div>';
})
add a comment |
Your function is returning a promise and you have to resolve that promise before you can get at the data
It is also using a needless $.Deferred
since getData()
returns a promise
Needs to be something like:
function commentCount(id) {
var url ='....';
// return the getData promise
return getData(url).then(function(data) {
// return the count to next `then()` in chain
return data.d.results.length
})
}
commentCount(someId).then(function(count){
// do stuff with your html here
var str ='<div> Count:' + count + '</div>';
})
Your function is returning a promise and you have to resolve that promise before you can get at the data
It is also using a needless $.Deferred
since getData()
returns a promise
Needs to be something like:
function commentCount(id) {
var url ='....';
// return the getData promise
return getData(url).then(function(data) {
// return the count to next `then()` in chain
return data.d.results.length
})
}
commentCount(someId).then(function(count){
// do stuff with your html here
var str ='<div> Count:' + count + '</div>';
})
edited Nov 23 '18 at 23:50
answered Nov 23 '18 at 23:44
charlietflcharlietfl
139k1389122
139k1389122
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53453873%2fget-deferred-promise-value-jquery%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
It is integer value
– Milind
Nov 23 '18 at 23:36
1
commentCount
is going to return a promise,.. Using deferred doesn't change things here, you could have just donereturn getData(url).
– Keith
Nov 23 '18 at 23:36
Can you please show me example
– Milind
Nov 23 '18 at 23:38
Unless you say used
async / await
your can't do something like"some string" + somePromise()
, you need to resolve your promise first. If usingasync / await
, this could be done ->"some string" + await somePromise()
– Keith
Nov 23 '18 at 23:40
How we can do that
– Milind
Nov 23 '18 at 23:42