运行函数内部`.add`
问题描述:
好了,所以我将照片添加到一个Observable
与.add
,但我需要运行一个函数/请求获取UserNameFeed
信息,问题是,我可以在做到这一点从.add
运行函数内部`.add`
var Photo = Observable();
Photo.add({
photoDateFeed: element.theDate,
imgurl: "https://res.cloudinary.com/" + element.photos.value,
UserFEEDid: element.userid,
UserNameFeed: (run a javascript function???)
});
我不知道这是可能的
答
您可以在接下来的步骤做:
- 实现的功能。
- 给它打电话。
最终代码会看起来像
function yourFunction(){
var result = 'Name';// Do what you want
return result;
}
var Photo = Observable();
Photo.add({
photoDateFeed: element.theDate,
imgurl: "https://res.cloudinary.com/" + element.photos.value,
UserFEEDid: element.userid,
UserNameFeed: yourFunction()
});
如果你的函数需要接受参数,只需添加在参数列表
function yourFunction(element){
var result = 'Name ' + element.userid;// Do what you want
return result;
}
var Photo = Observable();
Photo.add({
photoDateFeed: element.theDate,
imgurl: "https://res.cloudinary.com/" + element.photos.value,
UserFEEDid: element.userid,
UserNameFeed: yourFunction(element)
});
如果你需要做异步操作,你必须将其重写异步样式:
function yourFunction(element, callback){
// get name in async
$.ajax({
...
success: function(result) {
// Do what you want
callback(result)
}
});
}
var Photo = Observable();
yourFunction(element, function(result){
Photo.add({
photoDateFeed: element.theDate,
imgurl: "https://res.cloudinary.com/" + element.photos.value,
UserFEEDid: element.userid,
UserNameFeed: result
});
});
取决于函数的功能是否正确。调用这个函数就像'foo()'一样简单。 –
这也应该被标记为“[rxjs]”或者是可观察对象 - 即将出现的语言本地事物吗? (严重的问题,我不知道。) – apsillers