Разница между нативной Promise и Bluebird Promise [duplicate]

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

Например, ниже - класс ученика, который будет использовать его в нашем коде.

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
3
задан Mark Kahn 8 September 2015 в 09:19
поделиться

1 ответ

Первичные обещания, похоже, покачиваются друг с другом между nextTick и setImmediate - как? И это должно произойти? Где обещания должны идти в отношении этих?

Да, обещания запускаются после очереди microtask nextTick и перед выполнением любых задач (например, setImmediate).

Это их предполагаемое поведение и то, что мы ожидаем от них в NodeJS. Это было , принятое здесь , и вы можете прочитать об этом здесь

Поведение Bluebird по-разному

Bluebird's поведение предшествует национальным обещаниям, bluebird 3.0 использует семантику nextTick и microtask для планирования. Bluebird позволяет вам вручную переопределить это поведение, используя Promise.setScheduler с nextTick в качестве планировщика (вместо setImmediate).

Здесь вы можете увидеть код :

GlobalSetImmediate.call(global, fn)

УКАЗЫВАЙТЕ, ЧТО ВАШ КОД НЕ ДОЛЖЕН ОТНОСИТЬСЯ НА ЭТИХ ПОВЕДЕНИЯХ.

3
ответ дан Community 20 August 2018 в 10:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: