标签: callback

从回调函数中获取值

我正在尝试从回调函数返回一个值并将其分配给一个变量,尽管我正在努力解决这个问题 - 任何帮助将非常感激......

var latlng1;

function getLocation(){
  navigator.geolocation.getCurrentPosition (function (position){
    coords = position.coords.latitude + "," + position.coords.longitude;
    callback();         
  })
}

//how can I assign the coords value from the callback to variable latlng1 with global scope?
getLocation (function(){
  //alert(coords);
  return coords;
})

// -----------
//I'm trying something like this....but no joy
latlng1 = getLocation (function(){
  return coords;
}
Run Code Online (Sandbox Code Playgroud)

javascript anonymous function callback

1
推荐指数
1
解决办法
2940
查看次数

如何使用JNA回调

我正在使用 JNA 调用 dll 文件的函数。

简单DLL.h:

typedef int (__stdcall *eventCallback)(unsigned int id, int value);

namespace test
{
   class hotas
   {
   public:
   static __declspec(dllexport) int readValue(int a);
   static __declspec(dllexport) void setCallback(eventCallback evnHnd);
   };
}
Run Code Online (Sandbox Code Playgroud)

简单DLL.cpp:

#include "simpleDLL.h"
#include <stdexcept>
using namespace std;

namespace test
{
    eventCallback callback1 = NULL;
int test::readValue(int a)
{
    return 2*a;
}

void test::setCallback(eventCallback evnHnd)
{
    callback1 = evnHnd;
}  
}
Run Code Online (Sandbox Code Playgroud)

我的 Java 界面如下所示:

public interface DLLMapping extends Library{

DLLMapping INSTANCE = (DLLMapping) Native.loadLibrary("simpleDLL", DLLMapping.class);

int readValue(int …
Run Code Online (Sandbox Code Playgroud)

java callback jna

1
推荐指数
1
解决办法
8708
查看次数

在回调中返回

public static string GetFoo() {

        string source = GameInfoUtil.GetSource(repairRequest, () => {
            return "0"; // this line gives error
        });
        .
        .
        MORE WORK, BUT WANT TO SKIP IT
    }


public static string GetSource(WebRequest request, Action failureCallback) {
        // DOING WORK HERE WITH REQUEST
        if(WORK IS SUCCESSFULL) RETURN CORRECT STRING ELSE CALL ->
        failureCallback();
        return "";
    }
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情,但它给了我错误:

Error   2   Cannot convert lambda expression to delegate type 'System.Action' because some of the return types in the block are not implicitly …
Run Code Online (Sandbox Code Playgroud)

.net c# delegates callback

1
推荐指数
1
解决办法
1万
查看次数

RibbonControl 属性回调(getPressed、getSupertip 等)从不更新

虽然某些 Office 功能区控件属性可以直接设置(例如标签),但大多数使用回调来设置属性。例如按钮的图像:

<button id="btnRecalculate" getImage="GetRibbonControlImage" label="Recalculate Now"  onAction="OnButtonAction" size="normal" />
Run Code Online (Sandbox Code Playgroud)

文档对这些回调的语法非常清楚,但没有说明调用它们的时间和频率。

我现在面临一个问题,当以编程方式更改值时,我想修改功能区上的其中一个属性(例如按钮上的工具提示)。我为超级提示定义了一个回调,如下所示:

<button id="btnSetServerURL" getSupertip="GetSuperTip" label="Set Server URL" />
Run Code Online (Sandbox Code Playgroud)

以及隐藏的代码:

public string GetSuperTip(IRibbonControl control)
{
    switch( control.Id )
    {
        case "btnSetServerURL":
            return "Click to set the server URL. (Currently: " + API.URL + ")";
        default:
            return "";
    }
}
Run Code Online (Sandbox Code Playgroud)

当该 URL 更改时,下次用户将鼠标悬停在该按钮上时,我希望调用 GetSuperTip 回调并显示消息以显示正确的当前 URL,但现在该值只是第一次设置,再也不会设置。

有什么办法可以得到我寻求的行为吗?这是一个 Excel 插件,据我所知,WPF 样式绑定不是一个选项。

c# excel ribbon callback excel-addins

1
推荐指数
1
解决办法
1271
查看次数

Javascript 从同一函数内部调用函数

我有一个执行多个 DDBB 调用的函数,因此它是异步的。

我需要调用该函数并检查它返回的 JSON 对象中的数据值(获胜者)。如果是 true,我需要再次调用该函数,直到 Winner == false。

我不能使用 while 因为它不是异步的,我该怎么做?

  someFunction(function(result) {
     // if result.winner == true repeat 
  })
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous callback while-loop

1
推荐指数
1
解决办法
2万
查看次数

Matlab onclick回调执行函数

我希望 Matlab 执行一个函数,该函数将我单击的特定点作为输入,例如,如果我绘制

plot(xy(:,1),xy(:,2))
scatter(xy(:,1),xy(:,2))
Run Code Online (Sandbox Code Playgroud)

然后点击一个特定的点(见图),它会执行一个回调函数,其输入不仅是该点的x,y坐标,还有它的索引值(即变量xy的第4行)

多谢!

在此输入图像描述

matlab user-interface callback

1
推荐指数
1
解决办法
969
查看次数

通过回调从 onreadystatechange 返回值

我正在尝试从 onreadystatechange AJAX 调用返回一个值...我找到了此页面:stackoverflow 链接。我虽然可以正常工作,但意识到添加或删除 fn 函数没有什么区别。以下代码有效:

username_is_available();

function username_is_available() {
  var username = document.getElementById('username').value;

  get_data('username', username, function(returned_value) {
   if (returned_value == 'true') {
     document.getElementById('username_err').innerHTML = 'Taken';
    } else {
     document.getElementById('username_err').innerHTML = 'Available';
    };
  });
}

function get_data(data_type, data, fn) {
  var xmlhttp = new XMLHttpRequest();
  xmlhttp.onreadystatechange = function() {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    fn(xmlhttp.responseText);
  }
};
  xmlhttp.open("GET", "availability.php?" + data_type + "=" + data, true);
  xmlhttp.send();
}
Run Code Online (Sandbox Code Playgroud)

一切正常,但这不是我的目标,我想要一个函数 username_is_available() ,如果用户名确实可用,它返回 true 。相反,这里发生了一个操作(innerHTML …

javascript callback onreadystatechange

1
推荐指数
1
解决办法
5619
查看次数

在Delphi中实现DLL回调

我正在尝试连接到软件定义的接收器 DLL,该 DLL 需要提供回调以传送接收到的 I/Q 数据。

我可以很好地调用 DLL,但我不知道如何编写回调代码。

这是主模块的一部分:

uses
  uReceiverHackRFDLLWrapper;

procedure TForm1.btnIDClick(Sender: TObject);
var
  strptr: PAnsiChar;
begin
  hackrf_board_init();
  strptr := hackrf_board_id_name(0);
  lblName.Caption := 'Name: ' + strptr;
end;
Run Code Online (Sandbox Code Playgroud)

这是 DLL 的包装器:

unit uReceiverHackRFDLLWrapper;

interface

uses Windows, uSETITypes, sysutils;

{$MINENUMSIZE 4}

type
  // Trtlsdr_read_async_cb_t = procedure(buf: PAnsiChar; len: UINT32; ctx: Pointer);
  // [UnmanagedFunctionPointer(CallingConvention.StdCall)]
  // public unsafe delegate int hackrf_sample_block_cb_fn(hackrf_transfer* ptr); /* Return 0 if OK or -1 if error to stop */
  THackrf_sample__block_cb_fn = function(var hackrf_transfer: Pointer): integer;

function hackrf_board_id_name(index: …
Run Code Online (Sandbox Code Playgroud)

delphi dll callback delphi-10-seattle

1
推荐指数
1
解决办法
2619
查看次数

vue-awesome-swiper 和回调函数

我正在使用 Vue.js 2 和 vue-awesome-swiper。

我想在刷卡器的回调中至少做这两件事之一onSlideChangeEnd(swiper)

  1. 能够触发该功能onSwipe()
  2. 进入this.private.privateData

我认为根本问题是我不知道如何访问代表this不是 swiper 或对象 touchEventsTarget 而是我的App.vue.

当我尝试这样做时,this.private.privateData我发现Uncaught TypeError: Cannot read property 'orderFilter' of undefined这是有道理的。

我应该怎么办 ?谢谢。

应用程序.vue

  <template>
  <swiper :options="swiperOption" ref="mySwiper">
    <!-- slides -->
    <swiper-slide>I'm Slide 1</swiper-slide>
    <swiper-slide>I'm Slide 2</swiper-slide>
  </swiper>
</template>

<script>
  export default {
    name: 'carrousel',
    data() {
      return {
        private: {
            privateData : 'private'
        },
        swiperOption: {

          notNextTick: true,
          setWrapperSize :true,
          autoHeight: true,
          onSlideChangeEnd(swiper) {

               ***** DO SOMETHING HERE …
Run Code Online (Sandbox Code Playgroud)

javascript callback vue.js vuejs2 swiper.js

1
推荐指数
1
解决办法
7735
查看次数

Rails:跳过 after_create

我有 2 个型号:

class User < ActiveRecord::Base
    has_one :client
end

class Client < ActiveRecord::Base
    belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)

我通常创建user第一个,并有一个过滤器,在创建后after_create创建。clientuser

after_create :create_client
Run Code Online (Sandbox Code Playgroud)

我有一个新的案例,其中存在,并且我想在已经存在的情况client创建。在这种情况下,当我创建时我想跳过过滤器。 user clientuserafter_create

我知道我需要after_create :create_client, unless: ____,但我不知道如何区分这一点。

ruby-on-rails callback after-create ruby-on-rails-4

1
推荐指数
1
解决办法
2137
查看次数