Javascript 在“.add”中运行函数`

Javascript 在“.add”中运行函数`,javascript,Javascript,好的,我正在用将照片添加到一个可观察的.add中,但是我需要运行一个函数/请求来获取用户名提要信息,问题是我可以从中的中执行此操作吗 var Photo = Observable(); Photo.add({ photoDateFeed: element.theDate, imgurl: "https://res.cloudinary.com/" + element.photos.value, UserFEEDid: element.userid, UserNa

好的,我正在用
将照片添加到一个
可观察的
.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
       });
    });
    

    您可以在下一步中执行此操作:

  • 实现功能
  • 叫它
  • 最终的代码将是这样的

    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]
    ,或者现在可以观察到的是即将到来的语言本机事件?(严肃的问题,我不知道。)取决于函数到底在做什么。调用函数很简单,比如
    foo()
    。这是否也应该被标记为
    [rxjs]
    ,或者现在可以观察到的是即将到来的语言本机事件?(严肃的问题,我不知道。)