javascript

java

python

c#

android

node.js

c++

reactjs

php

html

jquery

css

.net

ios

git

ruby-on-rails

sql

c

string

ruby

JavaScript的Promise命名约定?

我觉得为具有诺言的JavaScript变量命名约定会很有用。 我一般不喜欢或不提倡使用超出编程语言标准的命名约定,但是在编程风格中,将promise作为函数参数传递给人,通常一眼就很难分辨出变量是保存promise还是“真实的东西”。

我个人使用过promiseOfFoopFoo,但是我发现前者有点冗长,而后者给了我匈牙利语的回忆。

有没有常用的约定?

trans by 2020-01-16T23:24:30Z

如何退出执行延迟呼叫的go程序?

我需要使用defer释放使用os.Exit库手动创建的分配,但在某些时候我还需要os.Exit处于非0状态。 棘手的部分是os.Exit跳过任何延迟的指令:

package main

import "fmt"
import "os"

func main() {

    // `defer`s will _not_ be run when using `os.Exit`, so
    // this `fmt.Println` will never be called.
    defer fmt.Println("!")
    // sometimes ones might use defer to do critical operations
    // like close a database, remove a lock or free memory

    // Exit with status code.
    os.Exit(3)
}

游乐场:[http://play.golang.org/p/CDiAh9SXRM]从[https://gobyexample.com/exit]被盗

那么,如何退出执行已声明defer调用的go程序? os.Exit是否有替代方案?

trans by 2020-01-14T15:47:29Z

我如何使用jQuery Promise链接三个异步调用?

我有三个需要以同步方式进行的HTTP调用,如何将数据从一个调用传递到另一个调用?

function first()
{
   ajax()
}

function second()
{
   ajax()
}

function third()
{
   ajax()
}


function main()
{
    first().then(second).then(third)
}

我尝试将deferred用于这两个函数,并提出了部分解决方案。 我可以扩展为三个功能吗?

function first() {
    var deferred = $.Deferred();
     $.ajax({

             "success": function (resp)
             {

                 deferred.resolve(resp);
             },

         });
    return deferred.promise();
}

function second(foo) {
     $.ajax({
            "success": function (resp)
            {
            },
            "error": function (resp)
            {
            }
        });
}


first().then(function(foo){second(foo)})
trans by 2019-10-06T17:09:37Z

angularjs-angular $ q,如何在for循环内和之后链接多个promise

我想要一个for循环,该循环在每次迭代时调用异步函数。

在for循环之后,我想执行另一个代码块,但在解决for循环中的所有先前调用之前,不要执行。

我目前的问题是,在for循环之后执行的代码块在所有异步调用完成之前执行,或者根本不执行。

带有FOR循环的代码部分及其后的代码块(有关完整代码,请参阅小提琴):

[..]
function outerFunction($q, $scope) {
    var defer = $q.defer();    
    readSome($q,$scope).then(function() {
        var promise = writeSome($q, $scope.testArray[0])
        for (var i=1; i < $scope.testArray.length; i++) {
             promise = promise.then(
                 angular.bind(null, writeSome, $q, $scope.testArray[i])
             );                                  
        } 
        // this must not be called before all calls in for-loop have finished
        promise = promise.then(function() {
            return writeSome($q, "finish").then(function() {
                console.log("resolve");
                // resolving here after everything has been done, yey!
                defer.resolve();
            });   
        });        
    });   

    return defer.promise;
}

我创建了一个jsFiddle,可以在[http://jsfiddle.net/riemersebastian/B43u6/3/。]中找到。

目前看来执行顺序很好(请参阅控制台输出)。

我的猜测是,这仅仅是因为每个函数调用都会立即返回,而无需执行任何实际工作。 我试图用setTimeout延迟defer.resolve,但失败了(即最后一个代码块从未执行过)。 您可以在小提琴的注释框内看到它。

当我使用写入文件和从文件读取的实函数时,在最后一次写操作完成之前执行了最后一个代码块,这不是我想要的。

当然,该错误可能出在这些读/写功能之一中,但我想验证一下我在此处发布的代码没有问题。

trans by 2019-09-22T18:26:22Z

angularjs - Angular $ q.when如何工作?

可以有人解释我$q.when如何在AngularJS中工作?我正在尝试分析$http如何工作并发现这个:

var promise = $q.when(config);

这是来自Chrome控制台的配置对象:

Object {transformRequest: Array[1], transformResponse: Array[1], cache: Object, method: "GET", url: "/schedule/month_index.html"…}
cache: Object
headers: Object
method: "GET"
transformRequest: Array[1]
transformResponse: Array[1]
url: "/schedule/month_index.html"
__proto__: Object

接下来发生什么? 该对象如何被解决或拒绝?

trans by 2019-09-03T14:39:19Z

angularjs - angular $ q,如何在for循环中和之后链接多个promise

我希望有一个for循环,每次迭代都会调用异步函数。

在for循环之后,我想执行另一个代码块,但是在for循环中所有先前的调用都已解决之前。

我现在的问题是,在所有异步调用完成之前执行for循环之后的代码块或者根本不执行它。

带有FOR循环的代码部分和后面的代码块(完整代码,请参见小提琴):

[..]
function outerFunction($q, $scope) {
    var defer = $q.defer();    
    readSome($q,$scope).then(function() {
        var promise = writeSome($q, $scope.testArray[0])
        for (var i=1; i < $scope.testArray.length; i++) {
             promise = promise.then(
                 angular.bind(null, writeSome, $q, $scope.testArray[i])
             );                                  
        } 
        // this must not be called before all calls in for-loop have finished
        promise = promise.then(function() {
            return writeSome($q, "finish").then(function() {
                console.log("resolve");
                // resolving here after everything has been done, yey!
                defer.resolve();
            });   
        });        
    });   

    return defer.promise;
}

我已经创建了一个jsFiddle,可以在这里找到[http://jsfiddle.net/riemersebastian/B43u6/3/。]

目前看起来执行顺序很好(参见控制台输出)。

我的猜测是,这只是因为每个函数调用都会立即返回而不做任何实际工作。 我试图用setTimeout延迟defer.resolve但是失败了(即从未执行过最后一个代码块)。 你可以在小提琴中的outcommented块中看到它。

当我使用写入文件和从文件读取的实际函数时,最后一个代码块在最后一次写操作完成之前执行,这不是我想要的。

当然,错误可能在其中一个读/写函数中,但我想验证我在这里发布的代码没有任何问题。

trans by 2019-05-16T05:24:02Z

JavaScript中Deferred,Promise和Future之间有什么区别?

延期,承诺和期货有什么区别?
这三者背后是否有普遍认可的理论?

trans by 2019-02-02T19:03:15Z

1 共1页